【发布时间】:2018-11-21 18:43:51
【问题描述】:
TypeScript 提供了定义全局外部模块的选项。例如,如果我在外部加载了 jQuery 库,我可以设置全局定义而不将其复制到 TypeScript 包中。但是当我尝试对'moment'模块做同样的事情时,编译器不会导入它正在输入。
这是我tsconfig.json、compilerOptions部分的内容
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"types": ["jquery", "moment"]
}
这是使用这些定义的代码片段:
console.log($);
console.log(moment); // error TS2304: Cannot find name 'moment'
所以它适用于 jQuery,但不适用于 MomentJS。我还将@types/jquery 和moment 添加到package.json 并安装到node_modules。
我知道可以使用 ES6 导入语法,但它会将它包含在一个包中,我想避免它,因为它已经加载到应用程序的另一个位置。
【问题讨论】:
-
也许this 问题可能有用。
-
不,情况不同
标签: typescript webpack momentjs