Angular 6,ngc,AOT,Angular Router,router.ngfactory和SystemJS

问题描述 投票:0回答:1

我有一个简单的角度6应用程序,我试图用AOT编译。我没有使用Angular CLI。我有一个自定义生成器,支持我的项目开始和脚手架我的组件,服务等。

一切都按照AOT之前的预期进行。当我运行ngc来编译我的角度应用程序时,一切都编译没有错误。但是,当我检查编译的ngfactory javascript文件时,我在node_modules目录中看到@ angular / router / router.ngfactory的引用。我似乎无法在任何地方找到此文件。

我的配置如下:

  • 所以v。 10.10.0
  • Angular v.6.1.2
  • 打字稿v.3.1.1
  • Sistema在0.21.4
  • Gulp v.3.ya.1

我创建了一个样本仓库来复制问题。

回购站位于SlyGenerator.DemoWithAOT

要使用JIT正常启动应用程序,请运行以下命令“npm run start-dev”

重现错误

  • 我运行“node_modules / .bin / ngc -p ./src/assets/ts/tsconfig.aot.json”这会在根级别生成一个带有ngfactory文件的“dist”文件夹。
  • 然后我将dist文件夹的内容复制到./app/assets/js/(这允许我测试生成的代码而不捆绑或缩小。
  • 接下来,我修改我的system.config.js文件以使用Main.aot.js文件而不是Main.js文件。 System.config.js文件位于.app / assets / config / system.config.js中

此时我收到以下错误:

SyntaxError:意外的令牌<

我可以将system.config.js文件切换回原始文件,一切正常。

angular systemjs angular-compiler-cli angular-compiler
1个回答
0
投票

排查后查看天数。我发现问题与缺少的库/功能模块有关。

IMO>错误通常与丢失的文件有关。

© www.soinside.com 2019 - 2024. All rights reserved.