首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管我使用的是目标esm2015,但是ivy是作为一个esm5模块编译的。

尽管我使用的是目标esm2015,但是ivy是作为一个esm5模块编译的。
EN

Stack Overflow用户
提问于 2019-07-26 12:46:15
回答 2查看 23.1K关注 0票数 9

@角常春藤问题

描述

当我使用ng cli时,它将模块编译为esm2015,我的问题是,我有一个老系统,因为有两个角度,我使用webpack,但对我来说,它编译成es5。

如何将其更改为编译为esm2015?

最小再生产

我的tsconfig.aot.json:

代码语言:javascript
复制
{
    "compilerOptions": {
        "rootDir": ".",
        "baseUrl": ".",
        "skipLibCheck": true,
        "outDir": "build/aot",
        "target": "es2015",
        "module": "esnext",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "noImplicitAny": true,
        "suppressImplicitAnyIndexErrors": true,
        "lib": [
            "es2018",
            "dom"
        ],
        "paths": {
            "corifeus-web-material": [
                "build-modules/corifeus-web-material/index.ts"
            ],
            "corifeus-web": [
                "build-modules/corifeus-web/index.ts"
            ],
            "corifeus-web-material/*": [
                "build-modules/corifeus-web-material/*"
            ],
            "corifeus-web/*": [
                "build-modules/corifeus-web/*"
            ]
        }
    },
    "include": [
        "build-modules/**/*",
        "src/angular/**/*",
        "test/angular-webpack/**/*"
    ],
    "exclude": [
        "src-save",
        "*.worker.js",
        "src/angular/bundle.ts",
        "test/angular-webpack/angular/bundle.ts",
        "test/angular-karma",
        "build/browser",
        "node_modules/corifeus-web/test",
        "node_modules/corifeus-web-material/test"
    ],
    "angularCompilerOptions-save": {
        "annotationsAs": "decorators",
        "preserveWhitespaces": false
    },
    "angularCompilerOptions": {
        "enableIvy": true
    }
}
代码语言:javascript
复制
git clone https://github.com/patrikx3/corifeus-app-web-pages
cd corifeus-app-web-pages
npm install
grunt

产出:

代码语言:javascript
复制
Running "cory-build-aot" task

Compiling @angular/core : module as esm5

Compiling @angular/common : module as esm5

Compiling @angular/common/http : module as esm5

Compiling @angular/animations : module as esm5

Compiling @angular/animations/browser : module as esm5

Compiling @angular/animations/browser/testing : module as esm5

Compiling @angular/cdk/platform : module as esm5

Compiling @angular/cdk/coercion : module as esm5

Compiling @angular/cdk/bidi : module as esm5

Compiling @angular/cdk/collections : module as esm5

Compiling @angular/cdk/scrolling : module as esm5

Compiling @angular/cdk/drag-drop : module as esm5

Compiling @angular/common/http/testing : module as esm5

Compiling @angular/cdk/keycodes : module as esm5

Compiling @angular/cdk/observers : module as esm5

Compiling @angular/cdk/a11y : module as esm5

Compiling @angular/platform-browser : module as esm5

Compiling @angular/cdk : module as esm5

Compiling @angular/platform-browser/animations : module as esm5

Compiling @angular/material/core : module as esm5

Compiling @angular/cdk/portal : module as esm5

Compiling @angular/cdk/overlay : module as esm5

Compiling @angular/forms : module as esm5

Compiling @angular/material/form-field : module as esm5

Compiling @angular/material/autocomplete : module as esm5

Compiling @angular/material/badge : module as esm5

Compiling @angular/cdk/layout : module as esm5

Compiling @angular/material/bottom-sheet : module as esm5

Compiling @angular/material/button : module as esm5

Compiling @angular/material/button-toggle : module as esm5

Compiling @angular/material/card : module as esm5

Compiling @angular/material/checkbox : module as esm5

Compiling @angular/material/chips : module as esm5

Compiling @angular/material/dialog : module as esm5

Compiling @angular/cdk/text-field : module as esm5

Compiling @angular/material/input : module as esm5

Compiling @angular/material/datepicker : module as esm5

Compiling @angular/material/divider : module as esm5

Compiling @angular/cdk/accordion : module as esm5

Compiling @angular/material/expansion : module as esm5

Compiling @angular/material/grid-list : module as esm5

Compiling @angular/material/icon : module as esm5

Compiling @angular/material/list : module as esm5

Compiling @angular/material/menu : module as esm5

Compiling @angular/material/select : module as esm5

Compiling @angular/material/tooltip : module as esm5

Compiling @angular/material/paginator : module as esm5

Compiling @angular/material/progress-bar : module as esm5

Compiling @angular/material/progress-spinner : module as esm5

Compiling @angular/material/radio : module as esm5

Compiling @angular/material/sidenav : module as esm5

Compiling @angular/material/slide-toggle : module as esm5

Compiling @angular/material/slider : module as esm5

Compiling @angular/material/snack-bar : module as esm5

Compiling @angular/material/sort : module as esm5

Compiling @angular/cdk/stepper : module as esm5

Compiling @angular/material/stepper : module as esm5

Compiling @angular/cdk/table : module as esm5

Compiling @angular/material/table : module as esm5

Compiling @angular/material/tabs : module as esm5

Compiling @angular/material/toolbar : module as esm5

Compiling @angular/cdk/tree : module as esm5

Compiling @angular/material/tree : module as esm5

Compiling @angular/material : module as esm5

Compiling @angular/core/testing : module as esm5

Compiling @angular/platform-browser-dynamic : module as esm5

Compiling @angular/platform-browser/testing : module as esm5

Compiling @angular/compiler/testing : module as esm5

Compiling @angular/platform-browser-dynamic/testing : module as esm5

Compiling @angular/common/testing : module as esm5

Compiling @angular/router : module as esm5

Compiling @angular/router/testing : module as esm5

是个错误吗?我应该得到esm2015模块编译。

异常或错误

不是直接出错,但我的目标是esm2015

你的环境

角版: 8.1.2

还有其他相关的吗?

生成错误,我期望如下:

代码语言:javascript
复制
Compiling @angular/core : es2015 as esm2015

Compiling @angular/common : es2015 as esm2015

Compiling @angular/platform-browser : es2015 as esm2015

Compiling @angular/platform-browser-dynamic : es2015 as esm2015
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-26 12:49:35

好的,我找到了,在webpack我必须设置[ 'es2015', 'browser', 'module', 'main'],,

https://github.com/angular/angular/issues/31853#issuecomment-515406475

票数 6
EN

Stack Overflow用户

发布于 2020-06-05 09:38:10

对于我来说,这是在升级到角9之后开始显示的,并添加了

代码语言:javascript
复制
"postinstall": "ngcc"

package.json中的脚本修复了它。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57220392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档