我有一个奇怪的场景,我试图取一个存在于国家预防机制上的模块,并将模块缩小。不过,我想保留类型。例如,让我们以lodash和它对应的@types/lodash为例,我想要做的是有一种方法,我可以将我的小型化的lodash命名为./min-lodash.ts,我想在代码中引用./min-lodash.ts,当我这样做时,它会松开它的类型,因为这些类型模块是由名称空间定义的,而命名空间似乎是包名。然后,我假设,如果我添加了这样的内容:
/// <reference path="../node_modules/@types/lodash/index.d.ts" />到文件的顶部,我将能够从类型模块中引入类型。但遗憾的是,情况并非如此。
我正在寻找一种方法,基本上分配一个类型化模块定义的任意文件。
这个是可能的吗?
基本上,我要做的是以下几点(另一种思考方式):
lodash.ts
import * as lodash from 'lodash'
export = lodashlodash.d.ts
declare const lodash: typeof import('lodash')
export = lodash我正在寻找一种将这两个文件缩小为一个或两个新的min-lodash.ts和min-lodash.d.ts文件的方法。
发布于 2018-12-30 19:41:06
如果这是您的工作流程,并且有更好的解决方案,那么很有可能您做错了什么。
尽管如此,有几种方法你可以做到这一点。
min-lodash.js中,并创建具有以下内容的min-lodash.d.ts:
声明:类型导入(“送交”) export = lodash
这可能是更好的选择,因为它使类型声明远离缩小的文件,并且只用于类型推断。min-lodash.ts中声明小型化包的类型,并使用export =生成导出。这是否起作用取决于您如何缩小捆绑。如果您正在创建一个UMD包,您可以将以下内容添加到您缩小后的包的末尾。
输入类型(‘lodash’)= module.exports export =lodashhttps://stackoverflow.com/questions/53976986
复制相似问题