繁体   English   中英

Angular CLI-ng生成期间发生AOT错误

[英]Angular CLI - AOT error during ng build

我使用Angular CLI创建了一个应用程序,它可以与JIT编译正常工作。 我觉得我需要使我的应用程序更快,所以我计划将应用程序从JIT转换为AOT。

我遵循了angular.io提到的说明

https://angular.io/guide/aot-compiler

本文档。

我成功地转换了步骤,这有助于我们将所有文件转换为ngFactory,并完成了汇总过程,没有错误。

执行ng build --aot时出现错误

错误消息如下

试图找到引导程序代码,但找不到。 指定可静态分析的引导程序代码,或将entryModule传递给插件选项。 错误:试图查找引导程序代码,但找不到。 指定可静态分析的引导程序代码,或将entryModule传递给插件选项。 在Object.resolveEntryModuleFromMain(/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@ngtools/webpack/src/entry_resolver.js:128:11)在AotPlugin._setupOptions(/ Users / wakdev / WebstormProjects / wak_ang2_angular在新的AotPlugin(/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@ngtools/webpack/src/plugin.js:26:14)的_createAotPlugin(/ Users / wakdev / WebstormProjects/wak_ang2_angcli/node_modules/@angular/cli/models/webpack-configs/typescript.js:55:12)位于Object.exports.getAotConfig(/ Users / wakdev / WebstormProjects / wak_ang2_angcli / node_modules / @ angular / cli / models /在NgCliWebpackConfig.buildConfig(/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@angular/cli/models/webpack-config.js:26:37)处的webpack-configs / typescript.js:88:19) /Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@angular/cli/tasks/build.js:27:92)在Class.run(/ Users / wakdev / WebstormProjects / wak_ang2_angcli / node_modules / @ a ngular / cli / commands / build.js:149:26)位于Class.Command.validateAndRun(/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@angular/cli/ember-cli/lib/models/command.js:128 :15)在/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/@angular/cli/ember-cli/lib/cli/cli.js:92:22在tryCatch(/ Users / wakdev / WebstormProjects / wak_ang2_angcli / node_modules / rsvp /dist/rsvp.js:539:12)在/ Users / wakdev / WebstormProjects / wak_ang2_angcli / node_modules / rsvp /dist/rsvp.js:629:16刷新时(/Users/wakdev/WebstormProjects/wak_ang2_angcli/node_modules/rsvp/dist/rsvp.js:2414:5)在_combinedTickCallback(内部/进程/next_tick.js:67:7) )at process._tickCallback(internal / process / next_tick.js:98:9)

这是我的main.ts

import { platformBrowser }    from '@angular/platform-browser';
import {AppModuleNgFactory} from '../aot/src/app/app.module.ngfactory';

console.log('Running AOT compiled');
//platformServer().bootstrapModuleFactory(AppModuleNgFactory);
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);

我的tsconfig-aot.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es2015", "dom"],
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "./node_modules/@types/"
    ]
  },

  "files": [
    "src/app/app.module.ts",
    "src/main.ts",
  ],

  "angularCompilerOptions": {
    "genDir": "aot",
    "skipMetadataEmit" : true
  }
}

有谁有同样的问题

如注释中所述,如果您使用的是cli,则运行ng build --prod应该为您完成构建,操作和树震动。 如果您想以更手动的方式进行操作,则如上所述,您需要向angularCompileOptions添加另一行,以使它们看起来像这样:

  "angularCompilerOptions": {
    "genDir": "aot",
    "entryModule": "app/app.module#AppModule",
    "skipMetadataEmit" : true
  }

由于您没有显示实际的模块,因此可能必须更新路径和模块名称,但是该属性很可能是您所缺少的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM