问题标签 [angular2-aot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular AOT 编译失败
我需要尽快将网站投入生产,并正在研究 AOT 以提高性能(我的应用程序需要大约 3-4 秒才能在 Chrome 上加载,在 Firefox 上需要 8-10 秒,这对于生产来说是不可能的)。
我遵循了https://angular.io/docs/ts/latest/cookbook/aot-compiler.html上的指南,但我坚持编译部分......
如果我输入: node_modules/.bin/ngc -p tsconfig-aot.json 我会得到一个很好的“编译失败”,其中包含大约 10000 个错误的列表,比如这个:
我无法解决所有这些问题,因为有些直接来自 Angular(我猜),例如:
编译失败是否与所有这些错误有关,如果我解决了它们,编译会通过吗?如果是的话,即使是 Angular 也会导致我提供的错误,这是否正常?
谢谢 !
注意:我使用的是 Angular 2.1.1。
angular - Angular2 SystemJs,使用 Gulp 提前编译
任何人都可以指导如何使用 Gulp 提前编译使用 SystemJs 的 Angular2 项目。我的意思是自动化https://angular.io/docs/ts/latest/cookbook/aot-compiler.html中提到的所有步骤
即生成 NgFactories、Treeshaking 和捆绑?
javascript - 类具有或正在使用来自外部模块的名称“SafeUrl”,但无法命名
我sanitizer.bypassSecurityTrustUrl
用来在页面上放置指向 blobURL 的链接。只要我不 AoT 编译项目,它就可以正常工作。
sanitize 函数采用如下 URL:
如果我使用 AoT 编译,我会收到以下错误消息:
模块构建失败:错误:/.../src/app/app.component.ts (18,3):从导出类返回的公共方法类型已经或正在使用来自外部模块的名称“SafeUrl”“/... /node_modules/@angular/platform-browser/src/security/dom_sanitization_service”但不能命名。)
我将 CLI 与 Angular 2.1.0 一起使用
任何人都知道我可以如何规避这个问题?还是应该将其报告为错误?
angular - 如何动态设置 LocationStrategy 类
如何在使用提前编译器编译的 Angular 2 应用程序中动态配置 AppModuleNgFactory?
LocationStrategy
应根据window.isCordova
环境变量设置提供程序类
如果应用程序没有使用 AOT 编译,它可以正常工作。但是当它使用 AOT 编译时,LocationStrategy
provider 总是设置为HashLocationStrategy
.
知道如何做到这一点吗?
css - angular-cli可以删除未使用的css吗?
到目前为止,我可以使用 angular cli 创建的最小包是通过运行
ng build --aot true -prod
我想知道构建过程是否还会从引导程序中删除未使用的 css 类?
如果不是,我该如何添加 purifycss 之类的库?
编辑 2018 年 4 月
我仍然没有找到任何令人满意的解决方案来解决他的问题,尤其是与带有角度的延迟加载模块兼容的解决方案......
干杯
angular - AOT 编译器编译 ngfactory 文件
我是 AOT 编译器的新手。
我使用此选项将所有文件编译到“已编译”目录:
但是当我运行“ngc”时,它也会尝试编译新创建的 .ngfactory 文件并在它们上抛出输入错误。
我试图删除“已编译”目录并重新编译代码,但它又发生了。
我还尝试在 tsconfig-aot.json 文件中添加“排除”键(就像我在 typescript 编译器中一样)并添加“已编译”目录,但这没有帮助。
有任何想法吗?
==== 编辑 ====
更多信息可能会有所帮助,我尝试将“genDir”设置为应用程序目录之外的目录,然后我收到一条错误消息,提示编译器找不到模块“app.module.ngfactory”。
据我了解,这意味着它尝试编译“.ngfactory”文件,因为我将 main.ts 从:
到:
这可能会导致编译器编译 app.module.ngfactory 并从那里移动到“app.module.ngfactory”中的其他导入并尝试编译所有“.ngfactory”文件。
是否有意义?我完全按照谷歌显示的那样更改了“main.ts”文件:https ://angular.io/docs/ts/latest/cookbook/aot-compiler.html
angular - 具有延迟加载的 Angular2 AOT 无法解析 [延迟模块的路径].ngfactory.ts
我正在尝试将已经使用延迟加载模块的应用程序转换为 AOT。我正在使用 @ngtools/webpack 工具包来编译 AOT 代码,但是我遇到了一个错误,即 Angular 无法找到看起来像延迟加载的模块的代码。
在我的应用程序路由定义中值得一提的是,这个项目的模块是延迟加载的:
这是我的设置的样子:
tsconfig:
网页包:
主要.aot.ts
在 webpack 中,我正在使用 @ngtools/Webpack 编译 ts 文件:
谢谢您的帮助!
angular - Angular 2 AoT 编译会导致应用程序问题并且在 JiT 中运行良好
我遵循了来自以下位置的 Angular 2 示例:
https ://angular.io/docs/ts/latest/cookbook/aot-compiler.html
使用 ngc AoT 编译应用程序后,路由不起作用,它只是停留在同一页面上,没有任何反应。
由于应用程序确实加载了,所以当使用 tsc 进行 JiT 编译而使用 ngc 编译时 AoT 编译失败时,甚至想不到可能有问题的地方都太奇怪了。
我不认为在这里粘贴代码会有所帮助,但我想知道您是否知道当应用程序处于 AoT 模式时我可以使用的任何工具或调试功能。
angularjs - Angular2 AOT 测试
我目前开始使用 NGC 使我的库 AOT 准备就绪,但我注意到有时一些错误仅在使用库时可见,而不是在 NGC 期间的编译级别。(不是这些错误是无法通过单元测试解决的 ngc 错误)
因此,我想以某种方式进行测试,以避免在使用库时发送有问题的库。
你们有什么建议?
kendo-ui-angular2 - 使用汇总和外部依赖项部署 Angular 2 应用程序 Aot
我已经实现了一个使用Kendo UI Grid的 angular 2 应用程序:
使用 AoT + Rollup 部署应用程序时我被卡住了:
错误:“GridModule”不是由 node_modules\@progress\kendo-angular-grid\dist\npm\js\main.js 导出的(由 app\app.module.js 导入)。
从汇总文档中尝试过,但我不明白如何配置namedExports
:
使用上述配置并不能解决问题。
编辑:最后我的网格工作配置是:
如果启用了“包含”部分,它将不起作用