首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将类型-模块(@type/ localized )分配给本地化版本的

将类型-模块(@type/ localized )分配给本地化版本的
EN

Stack Overflow用户
提问于 2018-12-30 10:46:05
回答 1查看 50关注 0票数 0

我有一个奇怪的场景,我试图取一个存在于国家预防机制上的模块,并将模块缩小。不过,我想保留类型。例如,让我们以lodash和它对应的@types/lodash为例,我想要做的是有一种方法,我可以将我的小型化的lodash命名为./min-lodash.ts,我想在代码中引用./min-lodash.ts,当我这样做时,它会松开它的类型,因为这些类型模块是由名称空间定义的,而命名空间似乎是包名。然后,我假设,如果我添加了这样的内容:

代码语言:javascript
复制
/// <reference path="../node_modules/@types/lodash/index.d.ts" />

到文件的顶部,我将能够从类型模块中引入类型。但遗憾的是,情况并非如此。

我正在寻找一种方法,基本上分配一个类型化模块定义的任意文件。

这个是可能的吗?

基本上,我要做的是以下几点(另一种思考方式):

lodash.ts

代码语言:javascript
复制
import * as lodash from 'lodash'
export = lodash

lodash.d.ts

代码语言:javascript
复制
declare const lodash: typeof import('lodash')
export = lodash

我正在寻找一种将这两个文件缩小为一个或两个新的min-lodash.tsmin-lodash.d.ts文件的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-30 19:41:06

如果这是您的工作流程,并且有更好的解决方案,那么很有可能您做错了什么。

尽管如此,有几种方法你可以做到这一点。

  1. 将缩小后的房舍放置在min-lodash.js中,并创建具有以下内容的min-lodash.d.ts: 声明:类型导入(“送交”) export = lodash 这可能是更好的选择,因为它使类型声明远离缩小的文件,并且只用于类型推断。
  2. min-lodash.ts中声明小型化包的类型,并使用export =生成导出。这是否起作用取决于您如何缩小捆绑。如果您正在创建一个UMD包,您可以将以下内容添加到您缩小后的包的末尾。 输入类型(‘lodash’)= module.exports export =lodash
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53976986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档