问题标签 [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.

0 投票
2 回答
70 浏览

angular - 将 angular2 更新为 angular4 后的编译问题

从 2 更新 angular4 版本后,编译时出现以下错误。

静态解析符号值时遇到错误。不支持函数调用。考虑将函数或 lambda 替换为对导出函数的引用

0 投票
0 回答
83 浏览

node.js - Angular AOT 编译因 npm 包而失败

我是 Web 开发的完全新手,现在我面临一个我不知道如何处理的问题。

我在我的 Web 应用程序中使用名为 @uniprank/ngx-file-uploader ( https://www.npmjs.com/package/@uniprank/ngx-file-uploader ) 的 npm 包,它是在 Typescript 中使用 Angular 4 开发的. 使用 JIT 编译时,它可以正常工作。但是,现在我想将我的应用程序转为生产模式,所以我尝试了 AOT 编译。当我尝试使用 Angular 编译器编译我的应用程序时,如下所示:https ://angular.io/guide/aot-compiler 。显示的消息如下:

在这一点上,我完全迷失了。尽管我一直在网上四处寻找,但我无法弄清楚该消息的含义以及如何修复它。

任何解决此问题的想法将不胜感激。谢谢。

0 投票
0 回答
132 浏览

angular - Angular 2/4 Cli 提前编译错误

我正在尝试构建我的 Angular Web 应用程序的生产版本。我正在使用的命令是:

ng build --prod

据我了解,这将使用 aot 构建应用程序的一个版本。但是,当我尝试上述命令时,我遇到了以下错误消息。

我似乎无法找出我做错了什么。我在网上看到的每一件事都表明这应该可行。任何建议将不胜感激。

0 投票
4 回答
24564 浏览

angular - Angular AOT 编译错误“无法确定类组件的模块”

我有一个 Angular (4.3.2) 应用程序,我想在其上执行 AOT 构建。应用程序是使用@angular/cli. 我有两个组件ng generate和一个模块,其中两个组件都包含在声明中:

私有组件也用于模块的路由:

注意路由是如何在另一个模块中定义并导入到模板中使用的PrivateModule 。所以两者都被使用和声明。但是当我使用(我在 Windows 10 上)时,我收到以下错误消息: . 我的文件与Angular AOT 构建指南中的完全相同。AppTopBarComponentPrivateComponent's"node_modules/.bin/ngc" -p tsconfig-aot.jsonCannot determine the module for class PrivateComponent in (path-to-project)/src/app/pages/private/private.component/private.component.ts! Add PrivateComponent to the NgModule to fix it. Cannot determine the module for class AppTopBarComponent in (path-to-project)/src/app/pages/private/app.topbar.component.ts! Add AppTopBarComponent to the NgModule to fix it.tsconfig-aot.json

0 投票
1 回答
348 浏览

angular - 使用 AOT 编译编译 Angular 4 项目

我将 angular 4 与 Webpack 和 Yarn 一起用作包管理器和 ngrx-store。使用 JIT 开始我的项目并尝试迁移到 AOT。我不断收到各种错误,我正在一一解决,但也许我在这里遗漏了一些东西......

错误:

错误中的错误遇到静态解析符号值。不支持函数调用。考虑将函数或 lambda 替换为对导出函数的引用(原始 .ts 文件中的位置 12:42),在 /Users/doroneshel-mbp/development/yotpo-workspace/yotpo-install/node_modules/@ 中解析符号组合ngrx/core/src/compose.d.ts,解析符号组合在/Users/doroneshel-mbp/development/yotpo-workspace/yotpo-install/node_modules/@ngrx/core/index.d.ts,解析符号appReducer /Users/doroneshel-mbp/development/yotpo-workspace/yotpo-install/src/app/app_state.ts,在/Users/doroneshel-mbp/development/yotpo-workspace/yotpo-install/src/app/中解析符号appReducer app_state.ts,在 /Users/doroneshel-mbp/development/yotpo-workspace/yotpo-install/src/app/app_state.ts 中解析符号 appReducer,

包.json

tsconfig.json:

按照本指南进行操作: https ://medium.com/@laco0416/aot-compilation-with-webpack-359ac9f4916f

0 投票
1 回答
2183 浏览

angular - Angular - AOT 编译 ng 与 ngc

带 ngc 的 AOT 和 rollup 有什么不同

ngc -p tsconfig-aot.json && rollup -c rollup-config.js

https://angular.io/guide/aot-compiler#aot-quickstart-source-code

AOT 与 Angular CLI

ng build --aot

https://github.com/angular/angular-cli/wiki/build

两种配置都非常不同,哪一种更好或更喜欢。

0 投票
2 回答
688 浏览

angular - 使用 AOT 编译 webpack 3 时定义窗口

我正在使用 angular 4 以及 Webpack 和 Yarn 作为包管理器。使用 JIT 开始我的项目并尝试使用 ngtools/webpack 迁移到 AOT。尝试使用以下方式构建我的项目时:

我得到错误:

我已经从我的项目中删除了所有窗口引用,以确保我的项目中不会发生错误。我的结论是它发生在我正在加载的外部模块中。不知道是哪个,因为错误消息似乎被破坏了。尝试以各种不同的方式包括它,主要是这些问题: 使用 Webpack 将 jQuery 暴露给真正的 Window 对象https: //stackoverflow.com/a/28989476/2823310但目前对我没有任何作用。

我认为这段代码:

是解决问题的方法,但它会产生更多相同的问题:

如何在窗口对象实际存在之前对窗口对象进行全局引用(AOT - 提前不应该真正知道真正的窗口对象)。Angular 4 和 webpack 的 AOT 是否还不够成熟?因为网络上没有太多关于它的信息。

似乎真的与这个话题有关: window is not defined using Angular4 + AoT + Webpack2 但没有得到回答。

包.json:

tsconfig-aot.json:

谢谢。

0 投票
0 回答
49 浏览

angular - aot 的顶级 ng2 应用程序目录下是否需要“src”目录?

我正在尝试AOT按照文档运行我的应用程序:https ://angular.io/guide/aot-compiler

我从“MyApp”目录执行以下AOT编译命令:

并返回以下错误:

看起来该命令需要一个“src”目录作为我的主ng2应用程序目录下的第一个子目录。这个ng2应用程序存在于父.NET MVC应用程序的上下文中,它有很多自己的特殊目录。我怀疑默认的ng2父应用程序目录通常命名为“src”,这会导致查找混乱。

你知道我是否可以传递一个命令选项来从编译器试图执行的目录路径中排除“src”?或者,如果有另一种AOT解决方法,或者我在这里做错了什么?

0 投票
1 回答
389 浏览

css - Angular Cli 和 AOT 问题

我在我的项目中使用 Angular CLI 1.4.1 并希望使用 AOT 编译来构建。但是我遇到了两个问题:

1)我有带有注册组件的 Shop 模块。在registration.component.css我添加了行

该文件存在于 node_modules/@angular/material/prebuilt-themes/ 文件夹中。但是,当我运行 AOT build 时,我收到错误消息:

2)我有全局文件styles.css,它包含在.angular-cli.json中:

当我运行开发构建时,该文件中的样式在页面上可用。但是,在 AOT 构建之后,不会加载样式。

请指教。

0 投票
1 回答
602 浏览

angular - 角度错误处理程序在 aot 包上包含组件

我有一个看起来像这样的错误处理程序:

我从:Global error handling angular 2得到这个

我的问题是,当我在开发中运行它时,它会按预期工作,其中包含组件的有意义的堆栈跟踪:

例如:

ngOnInit()@webpack:///src/app/person/userdetail-page/userdetail-page.component.ts:29:19 __tryOrSetError()@webpack:///~/rxjs/Subscriber.js:247:0 this.__tryOrSetError()@webpack:///~/rxjs/Subscriber.js:187:0 _next()@webpack:///~/rxjs/Subscriber.js:125:0 next()@webpack:// /~/rxjs/Subscriber.js:89:0 notifyNext()@webpack:///~/rxjs/operator/switchMap.js:124:0

但是在使用 angular cli 进行生产时:ng build --prod --aot

输出是相同的错误是:

未定义 TypeError 的属性“toString”:无法在 e.__ tryOrSetErrorhttp: //xxx.azurewebsites.net/vendor.1cd9b81fc017fd7eac16.bundle.js:835:16880 ) 在 e.next

所以这对我来说不是一个有意义的堆栈跟踪。如果我能得到导致问题的组件,为什么像在我的开发环境中一样??!

您如何处理生产站点中的错误?如果我在代码中的每个地方都尝试捕获,我可以抛出特定类型的错误,但在没有尝试捕获块的地方?

Stacktrace 应该始终显示导致错误的组件,而不仅仅是显示捆绑中未定义的 tostring!