假设使用webpack 2和typescript,这些语句之间究竟有什么区别。
import "moment";
import "imports-loader?window=>this!moment";
import "script-loader!moment";
import * as moment from "moment";
import { moment } from "moment";
在webpack 2
的情况下,究竟发生了什么......
尽管在(IMHO坏)文档中搜寻,但对我来说还不是很清楚。
我发现,例如,使用script-loader
似乎可以使用script-loader
导入的其他库可以使用某些库,但不会将其放入全局范围对于其他ES6导入的库。
供参考:我的tsconfig.json
看起来像这样:
{
"compileOnSave": true,
"compilerOptions": {
"moduleResolution": "node",
"target": "es5",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"pretty": true,
"lib": [ "es6", "dom" ],
"types": []
},
"exclude": [
"node_modules", "wwwroot/lib", "bower_components"
]
}
答案 0 :(得分:0)
三种形式:
import "moment";
import * as moment from "moment";
import { moment } from "moment";
import "moment";
导入副作用文件。
import * as moment from "moment";
将完整模块导入名为moment
import { moment } from "moment";
从模块moment
导入名为导出moment
的。
阅读ES6导入/模块语法
Webpack还允许您在导入时使用加载器,例如
import "imports-loader?window=>this!moment";
import "script-loader!moment";
这些包含在各个加载器文档中,例如https://github.com/webpack-contrib/imports-loader