0

我在选择“Ivy”的同时升级到了 Angular 8.0。一切都可以编译,但就捆绑包大小而言,结果令人失望。实际上,与 ng7 相比,我与 Angular 的供应商捆绑包的大小有所增加。

没配置对吧?

  • 我正在使用节点 12
  • @angular 8.0 和 @ngtool 8.01

tsconfig

{
  "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": ".",
        "noImplicitAny": false,
        "noEmitOnError": true,
        "sourceMap": false,
        "inlineSourceMap": false,
        "target": "es5",
        "module": "es2015",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "allowSyntheticDefaultImports": false,
        "allowJs": false,
        "noStrictGenericChecks": true,
        "noEmit": false,
        "lib": [ "es6", "dom" ],
    },
 "angularCompilerOptions": {
    "skipMetadataEmit": true,
    "enableIvy": "ngtsc",
    "allowEmptyCodegenFiles": true
  }
}

在此处输入图像描述

4

1 回答 1

3

Angular 的新编译器(Ivy)目前只是实验性的,甚至还不是完全稳定的。

如果您正在运行 Angular 8,您可以通过传递一个标志来尝试一下enableIvy。但这不是默认值(现在),这是有充分理由的。你不应该在产品中使用它(还)。

现在激活 Ivy 不会有任何好处。他们改变了编译器的工作方式,其中一个原因是为了更好地摇树。但是围绕它的工具还没有更新(在我看来,这可能只会出现在 v9 中)。

目前,可以使用 Ivy 作为 beta 测试人员并向团队报告您可能遇到的任何问题。您还将遇到尚未更新以支持它的库的问题。所以我不建议在产品中使用它。

PS:

我也在这个线程中谈到了这一点https://github.com/angular/angular/issues/13721#issuecomment-498989717(我在解释关于常春藤的事情,但也给了一个侮辱维护者的答案,所以不要打扰那部分...)

于 2019-06-05T08:08:15.870 回答