【问题标题】:error TS5023: Unknown compiler option 'enableIvy'错误 TS5023:未知的编译器选项“enableIvy”
【发布时间】:2019-02-19 15:20:21
【问题描述】:

我正在尝试将 IVY 添加到我的 Angular 7 beta 项目中。所以,我在compilerOptions 部分中将enableIvy: true 添加到src/tsconfig.app.json

但是当我运行 ng build --prod --aot --output-hashing none 时,我得到以下错误。

error TS5023: Unknown compiler option 'enableIvy'.

Error: error TS5023: Unknown compiler option 'enableIvy'.

    at AngularCompilerPlugin._setupOptions (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:112:19)
    at new AngularCompilerPlugin (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:61:14)
    at _createAotPlugin (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/typescript.js:41:12)
    at Object.getAotConfig (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/typescript.js:63:19)
    at BrowserBuilder.buildWebpackConfig (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/src/browser/index.js:81:37)
    at MergeMapSubscriber.rxjs_1.of.pipe.operators_1.concatMap [as project] (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/src/browser/index.js:31:38)
    at MergeMapSubscriber._tryNext (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/operators/mergeMap.js:65:27)
    at MergeMapSubscriber._next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/operators/mergeMap.js:55:18)
    at MergeMapSubscriber.Subscriber.next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/Subscriber.js:64:18)
    at TapSubscriber._next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/operators/tap.js:62:26)
    at TapSubscriber.Subscriber.next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/Subscriber.js:64:18)
    at MergeMapSubscriber.notifyNext (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/operators/mergeMap.js:84:26)
    at InnerSubscriber._next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/InnerSubscriber.js:25:21)
    at InnerSubscriber.Subscriber.next (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/Subscriber.js:64:18)
    at ForkJoinSubscriber.notifyComplete (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/observable/forkJoin.js:79:25)
    at InnerSubscriber._complete (/Users/k26686/aniruddh/develop/experiment/shepherd/node_modules/@angular-devkit/build-angular/node_modules/rxjs/internal/InnerSubscriber.js:32:21)

任何人都解决了这个问题。

【问题讨论】:

    标签: angular typescript angular7 angular-ivy


    【解决方案1】:

    尝试在angularCompilerOptions下包含enableIvy选项

    "angularCompilerOptions": {
       "enableIvy": true
    }
    

    【讨论】:

    【解决方案2】:

    现在设置正确的方式

    "angularCompilerOptions": {
       "enableIvy": "ngtsc"
    }
    

    这与问题#23455有关

    此提交添加了一个不依赖于全局的新编译器管道 分析,称为“ngtsc”。这个新的编译器由 运行 ngc 并将“enableIvy”设置为“ngtsc”。它重用相同的初始化 逻辑,但创建一个新的 Program 实现,它不执行 AngularCompilerProgram 所做的全局级分析。这将是 生产常春藤编译器的基础。

    【讨论】:

    【解决方案3】:

    compilerOptionsangularCompilerOptionstsconfig.json 中的两个独立属性。您需要将"enableIvy": true 添加到angularCompilerOptions 而不是compilerOptions

    tsconfig.json:

    {
      "compilerOptions": {
      ....
      },
      "angularCompilerOptions": {
        "enableIvy": true
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2018-05-27
      • 2021-07-14
      • 2019-10-07
      • 1970-01-01
      相关资源
      最近更新 更多