问题标签 [angular-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 2/4 编译使用 AoT 错误 - extendStatics
我有一个正在尝试使用 AoT 编译的应用程序。当我构建应用程序时,我收到以下错误:
C:\test\node_modules\@angular\compiler-cli\src\diagnostics\expression_diagnostics.js:14
扩展静态(d,b);
^ TypeError:对象原型可能只是一个对象或空:未定义
我知道有些东西适用于 JIT 编译但不适用于 AoT,所以我怀疑我的代码中可能有一些东西可能不适用于 AoT。请问知道这个错误的原因是什么吗?
Angular 和 TypeScript 版本
- 角度版本:4.0.1
- 角度编译器 CLI:4.2.5
- 打字稿:2.3.4
angular - 带有 ngTools/webpack 的 Angular AOT 使用惰性模块创建额外的不需要的块
我有 webpack 生成以下捆绑文件:
- main.prod.js(好)
- vendor.prod.js(好)
- 0.chunk.prod.js (不好- 这是一个延迟加载模块的包)
- 1.chunk.prod.js (坏- 这是一个延迟加载模块的包)
问题是我希望延迟加载的模块(例如:0.chunk.prod.js)成为 main.prod.js 包的一部分。
webpack.common.js
webpack.prod.js
angular - AOT 角度模块
我一直在尝试导出一个简单的 Angular4 模块以在另一个项目中工作至少一个月。阅读了很多文章,但它不起作用。这是一个包含两个文件夹的文件:
这lib
是 Angular 模块的一个非常简单的实现,并将demo
该模块导入到其根模块中。
无论我做什么,演示应用程序都会给我不同类型的错误,说它lib
不是 Angular 模块。有时谈论不包括装饰器,有时会出现这个错误:
错误中的错误遇到静态解析符号值。不支持函数调用。考虑将函数或 lambda 替换为对导出函数的引用(原始 .ts 文件中的位置 194:50),解析符号 NgModule
我试图瞄准es5
,es2015
但没有任何运气。
重现问题的步骤:
下载 zip 并将其解压缩到一个文件夹中
光盘
lib
文件夹运行
npm install
或yarn install
安装依赖项运行
npm run bundle
或yarn bundle
将库捆绑到dist
光盘
demo
文件夹运行
npm install
或yarn install
运行
npm install ../lib
或安装文件夹内yarn add file:../lib
的本地ng-test-lib
lib
运行
npm start
或yarn start
启动演示项目
更新:
我在这里添加了一些文件的内容:
lib/src/a-module.ts
lib/src/a-directive.ts
lib/tsconfig.aot.json
有人知道这里发生了什么吗?
angular - 如何在 Angular 应用程序中使用 Angular-CLI 进行 AOT?
构建一个 Angular4 项目并试图弄清楚我们需要如何以及是否需要使用 Angular-CLI 进行 AOT,因为它在后台运行 Webpack2,而 webpack 可以使用 ng build 为我们提供生产构建。那么我们是否需要使用 CLI 进行 AOT?
此外,当我们在本地机器上运行基于 CLI 的项目时,在 localhost AOT 上呈现的构建是编译还是 JIT?
angular - Angular 2 i18n 消息,里面带有 HTML 标记
我试图使用 angular 2 的 i18n 官方实现来翻译我的应用程序:https ://angular.io/guide/i18n并且我试图用 HTML 来翻译一些消息(可以说字体真棒图标)。
例如这个:
当我使用ng xi18n
或生成翻译文件时,./node_modules/.bin/ng-xi18n
我得到以下翻译单元。
我为 es 语言环境创建了一个翻译文件,当我使用新的语言环境为我的应用程序提供服务时,字体真棒图标丢失,仅显示文本 instagram。
此问题发生在正在翻译父级的任何嵌套 HTML 标记中。
angular - Angular AOT 更改组件文件名添加 .ngfactory 在包含时创建 url 引用错误
所以 AOT 更改了我的组件的名称,例如my-component.component.ts
,my-component.component.ngfactory.ts
但是在生成的文件中包含这样做的文件
import * as import2 from './my-component.component';
这是错误的,因为该文件不再存在。
如果我将文件上的导入更改为
import * as import2 from './contact-us.component.ngfactory';
然后我可以看到例如我的 IDE 如何停止抱怨,因为该文件确实存在。
现在有人如何使 AOT 编译器不修改文件名或相应地修改导入?让我知道您是否需要查看任何配置文件
这就是我的 tsconfig 的样子
收到的错误是
angular - AOT - ngc 无法解析组件的所有参数
当我按照 JIT 指令构建时ng build
;当我使用标志ng build --prod
为 AOT 构建时,一切都很好,该应用程序有效。但是当我尝试使用它编译它(AOT)时,出现以下错误:--aot
ng build --aot
ngc
这是 HomeComponent 类:
[编辑] 事件管理器:
[编辑] app.module.ts :
您知道错误的原因吗?
angular - “不支持函数调用。” 使用 ngc AOT 编译 (angular-quickstart-lib)
我正在使用angular-quickstart-lib制作我的自定义模块。当我运行集成脚本时,它会抛出错误:
错误:静态解析符号值时遇到错误。不支持函数调用。考虑将函数或 lambda 替换为对导出函数的引用(原始 .ts 文件中的位置 15:23),解析 D:/Projects/Playground/ng-yandex-metrika/integration/node_modules/ng 中的符号 MetrikaModule.forRoot -yandex-metrika/ng-yandex-metrika.d.ts,解析D中的符号AppModule:/Projects/Playground/ng-yandex-metrika/integration/src/app/app.module.ts,解析D中的符号AppModule :/项目/游乐场/ng-yandex-metrika/integration/src/app/app.module.ts
我的回购在这里。您可以在此处查看模块并在此处查看集成测试。要运行集成测试,有 command 。谁能说出为什么会发生这个错误?npm run integration:aot
关于stackoverflow有很多问题,但他们没有帮助。我也见过这个。
angular - 带有语义少的Angular4 AOT不起作用
在使用语义较少的 angular4(以及来自 vladotesanovic 的 angular2 的语义)时,我遇到了一个奇怪的问题。当我启动我的项目(npm start)时,一切正常。
但是当我使用 AOT 编译启动时(npm run build:aot -> num run server:prod):
这是sm 选择
下图中的不工作示例:
angular - 如何处理 AOT 编译失败的 npm 包
我是 Web 开发的完全新手,现在我面临一个我不知道如何处理的问题。
我在我的 Web 应用程序中使用名为@uniprank/ngx-file-uploader
( https://www.npmjs.com/package/@uniprank/ngx-file-uploader ) 的 npm 包。使用 JIT 编译进行编译时,它可以正常工作。但是,现在想把我的应用程序转为生产模式,所以我尝试了AOT编译,结果发现了一个问题。当我尝试使用 Angular 编译器编译我的应用程序时,这个包会中断,如下所示:https ://angular.io/guide/aot-compiler 。显示的消息如下:
在包的 Github 存储库的问题之一(https://github.com/uniprank/ngx-file-uploader/issues/3)中,我注意到这可能是包本身的问题。
在这一点上,我完全迷失了。我知道这是一个非常笼统的问题,但我不知道如何处理这个问题。我应该处理包装本身吗?如果是这样,我是否必须创建一个新的 npm 包以将其添加到package.json
我的应用程序中并在执行命令时将其包含在我的应用程序中npm install
?
任何帮助,将不胜感激。谢谢。