angular-cli如何与ES6模块一起使用?

斯蒂芬·弗里德里希

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

{
    "compilerOptions": {
        "modules": "es6",
        "target": "es5",
        ...

后来webpack如何处理它以使其在es5中工作?

如果我理解正确,许多项目将使用babel来使es6模块正常工作,但是我在angular-cli中未找到任何对babel的引用。

我试图从一开始就建立一个webpack项目,因为事实证明,angular-cli使用的webpack配置对于我们的项目而言还不够好/不够灵活。

当我尝试使用es6模块时,最终在“捆绑”的js文件中得到未处理的“ import”语句,因此显然我在做错什么。

莱昂·雷德利

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将ES6 let与firefox和angular一起使用时,无法实例化模块

Angular 7-如何将一个组件与不同模块一起使用

将ES6与Angular2 rc3一起使用时需要未捕获的反射元数据填充

如何使ng2-redux与Angular 4 SPA中的模块延迟加载一起使用?

总是应该将angular-cli的--output-hashing与延迟加载的模块一起使用吗?

如何使用CommonJS模块将Webpack和ES6与依赖项一起使用?

如何正确配置nginx以与NG Serve和Angular CLI一起使用?

在Angular CLI项目中使用ES6

第三方库如何与ES6模块一起使用?

如何将ES6导入和'request'npm模块一起使用

Bootstrap 4.1.1 Navbar无法与Angular 6一起使用

Bootstrap轮播无法与angular6一起使用

如何在Angular 6中将“ routerLinkActive”与查询参数一起使用?

如何在Angular 6中将ngSwitch与* ngFor一起使用

如何在 Angular 6 中实现与 forkJoin 一起使用的通用错误处理?

混淆:如何将ES6浏览器模块与Typescript一起使用(不带模块捆绑器)

如何通过Webpack和6to5与es6模块一起使用npm包?

无法在Angular 5的tsconfig中使动态模块导入与模块esnext一起使用

如何在没有构建“错误”的情况下将Angular-CLI与Visual Studio 2017一起使用

如何在 Angular 中将 patchValue 与 FormArray 一起使用?

如何使lodash与Angular JS一起使用?

如何在 Angular 中将 ngFor 与 Observable 一起使用?

如何使Typescript与SystemJS和Angular一起使用?

什么是fileAPI?如何将其与angular一起使用?

angular 2如何与jquery一起使用?

我如何将MongoDb与angular一起使用

ES6模块在Node / Express路由应用程序中如何与app.get一起使用?

如何将 .env 与 ES6 模块与 node js 和 express 应用程序一起使用?

Angular 6的路由无法与“ Router”模块一起使用,我想我有一个错误,但我不知道它是什么