AOT编译器编译ngfactory文件
AOT compiler compiles ngfactory files
我是 AOT 编译器的新手。
我使用此选项将所有文件编译到 'compiled' 目录:
"angularCompilerOptions": {
"genDir": "compiled",
"skipMetadataEmit" : true
}
但是当我 运行 'ngc' 它也尝试编译新创建的 .ngfactory 文件并抛出输入错误。
我试图删除 'compiled' 目录并重新编译代码,但它又发生了。
我还尝试在 tsconfig-aot.json 文件中添加 "exclude" 键(就像我在打字稿编译器中所做的那样)并添加 'compiled' 目录,但这没有帮助。
有什么想法吗?
====编辑====
一些可能有用的信息,我尝试将 'genDir' 设置为应用程序目录之外的目录,然后我收到一条错误消息,提示编译器找不到模块 'app.module.ngfactory'.
根据我的理解,这意味着它会尝试编译“.ngfactory”文件,因为我将 main.ts 从:
更改为
import { AppModule } from "./components/app.module";
platformBrowserDynamic().bootstrapModule(AppModule);
至:
import { AppModuleNgFactory } from "../compiled/client/components/app.module.ngfactory";
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
这可能会导致编译器编译 app.module.ngfactory 并从那里移动到 'app.module.ngfactory' 中的其他导入并尝试编译所有“.ngfactory”文件。
有道理吗?我更改了 'main.ts' 文件,完全按照 google 显示在:https://angular.io/docs/ts/latest/cookbook/aot-compiler.html
是我的错。
编译器在 ngfactory 文件上显示错误,但这并不意味着它编译了它们。
错误与原组件的ts文件有关。
我必须修复 ts 文件中的错误,它解决了问题。
我很难理解,尽管应用程序在 JIT 中运行,但 AOT 编译的东西不同并且更严格,并且可能会显示一些我需要处理的错误,而在 JIT 中无关紧要。
我是 AOT 编译器的新手。
我使用此选项将所有文件编译到 'compiled' 目录:
"angularCompilerOptions": {
"genDir": "compiled",
"skipMetadataEmit" : true
}
但是当我 运行 'ngc' 它也尝试编译新创建的 .ngfactory 文件并抛出输入错误。
我试图删除 'compiled' 目录并重新编译代码,但它又发生了。
我还尝试在 tsconfig-aot.json 文件中添加 "exclude" 键(就像我在打字稿编译器中所做的那样)并添加 'compiled' 目录,但这没有帮助。
有什么想法吗?
====编辑====
一些可能有用的信息,我尝试将 'genDir' 设置为应用程序目录之外的目录,然后我收到一条错误消息,提示编译器找不到模块 'app.module.ngfactory'.
根据我的理解,这意味着它会尝试编译“.ngfactory”文件,因为我将 main.ts 从:
更改为import { AppModule } from "./components/app.module";
platformBrowserDynamic().bootstrapModule(AppModule);
至:
import { AppModuleNgFactory } from "../compiled/client/components/app.module.ngfactory";
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
这可能会导致编译器编译 app.module.ngfactory 并从那里移动到 'app.module.ngfactory' 中的其他导入并尝试编译所有“.ngfactory”文件。
有道理吗?我更改了 'main.ts' 文件,完全按照 google 显示在:https://angular.io/docs/ts/latest/cookbook/aot-compiler.html
是我的错。
编译器在 ngfactory 文件上显示错误,但这并不意味着它编译了它们。
错误与原组件的ts文件有关。
我必须修复 ts 文件中的错误,它解决了问题。
我很难理解,尽管应用程序在 JIT 中运行,但 AOT 编译的东西不同并且更严格,并且可能会显示一些我需要处理的错误,而在 JIT 中无关紧要。