角度2 rc 6,typescript 2,节点4.5.0,npm 2.15.9在Windows 7上
我试图从即时到时间的编译,我依靠这些资源:
> Angular 2 – Ahead-of-time compilation how to
> https://github.com/angular/angular/tree/master/modules/@angular/compiler-cli#angular-template-compiler
我明白,我需要运行编译器ngc来生成ngfactory.ts文件,我需要更改main.ts以使用platformBrowser而不是platformBrowserDynamic来引导。我已经打了路障,不知道如何进行。
我已经确认应用程序运行时没有错误使用即时编译。我的主要是:
enableProdMode(); platformBrowserDynamic().bootstrapModule(AppModule);
2.我清除我的生产文件夹中的所有应用程序文件,但保留第三方库(例如:角度2,角度2材质)
3.我运行“node_modules / .bin / ngc”-p ./这运行没有输出到控制台。我看到每个.ts组件和模块都有一个.ngfactory.ts文件。我也看到一个.css.shim.ts文件,用于保存组件样式的每个.css文件。此外,.js和.js.map文件已经被放置在生产目录中
4.如果我现在尝试运行该应用程序,那么我发现所有保存组件模板的.html文件中找到404错误
5.我手动将所有模板文件(.html)移动到生产目录并运行应用程序。它运行正常,但它仍然使用即时编译(255个请求,包括compiler.umd.js)
我把我的主要改为:
enableProdMode(); platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
由于新的代码尚未被编译,所以没有什么区别。但是,我不知道该怎么做。
我应该再次运行ngc吗?如果是这样,我会收到很多类型的错误:
Error at C:/path/to/notify.component.ngfactory.ts:113:41: Property 'visible' is private and only accessible within class 'NotifyComponent' ... (many more like that with lots of properties from lots of components) Compilation Failed
使用AoT编译是否意味着我必须将我的所有类属性都公开?我错过了一步吗?