angular-cli如何与ES6模块配合使用?

Ste*_*ich 8 angular-cli angular

angular-cli使用es6模块作为TypeScript的输出格式:在tsconfig.json中:

{
    "compilerOptions": {
        "modules": "es6",
        "target": "es5",
        ...
Run Code Online (Sandbox Code Playgroud)

以后如何通过webpack处理它以使其在es5中运行?

如果我理解正确,许多项目使用babel来使es6模块工作,但我没有在angular-cli中找到任何关于babel的引用.

我试图从一开始就设置一个webpack项目,因为事实证明angular-cli使用的webpack配置对我们的项目来说不够好/不够灵活.

当我尝试使用es6模块时,我最终在我的"捆绑"js文件中使用了未经处理的"import"语句,所以很明显我做错了.

Leo*_*ley 5

angular cli使用了支持ESM(ES6模块)的webpack 2,因此,在编译打字稿时,它会编译为es5,但会将所有import语句保留为es6样式模块。

然后webpack 2可以使用静态分析和摇树来优化es6模块,以删除未使用的代码段和未使用的模块。

因此,您可能做错了使用不支持es6模块的webpack 1。