问题标签 [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 - SharedModule 导出的未使用模块会影响 Angular 应用程序的性能吗?
我有一个 Material 模块,其中包含 Angular Material 组件的导入/导出。
我在 SharedModule 中导入和导出 MaterialModule。
例如,我导入 SharedModule 来使用它的组件,这样我就不必在我创建的每个使用 Angular Material 的模块中一遍又一遍地导入 Angular Material 组件。我将 SharedModule 导入到 ExampleModule,但 ExampleModule 仅使用 MaterialModule 中的 MdIconModule。假设这是整个大型应用程序中的常见做法。它会影响开发模式和生产模式(AOT 构建)的性能吗?
angular - Angular 库构建错误:TypeError:无法读取 null 的属性“类型”
在 Angular v6 中,当尝试构建我的库时,我遇到了一个非常非描述性的问题BUILD ERROR Cannot read property 'type' of null
已经解决了这个问题,我发布这篇文章是为了帮助其他遇到这个问题的人。
angular-cli - Angular CLI 构建缩小破坏了我的应用程序
在构建我的 Angular 5 应用程序的生产版本ng build --prod
并在本地对其进行测试后,我遇到了以下问题,请参见下图。
有东西在打电话,/es
这肯定不是我自己写的。
我认为这与缩小/aot 编译器有关。通过点击运行以下代码的路由触发调用
在这里,Contact.$get()
转换为对/contacts
. 这是由一个自定义库完成的,该库根据应用程序中使用的某些资源的类名构造路由名称。下面显示了执行此操作的代码段
当console.log
ing 的值时this.path
,我所有的资源类都被命名为es
. 所以 AOT 编译正在破坏我的代码......如何解决这个问题(除了避免使用constructor.name
)?请注意,这只发生在-prod
标志上。“正常”构建不会破坏它。
angular - 在Angular中实例化时如何将[formControl]附加到类型
我正在尝试将 a [formControl]
(和其他顶级属性)附加到我使用 a 创建的对象,ComponentFactoryResolver
以便使用 a 处理表单逻辑ControlValueAccessor
。
基本上我这样做:
我想出这一点的唯一方法是进入 JIT 并使用 RuntimeCompiler,动态创建一个模板,如<my-component [formControl]="args" [otherValuableAttribute]="true"></my-component>
. 编译它,然后获取实例。
但是,如果不关闭 AOT,我将无法运行它。
我在这里最好的选择是什么?
angular5 - _lazy_route_resource 惰性命名空间对象
我正在使用角度编译器:
const AngularCompilerPlugin = require('@ngtools/webpack').AngularCompilerPlugin;
使用这些编译器选项:
我的 package.json 的相关部分是:
我的 angularCompilerPlugin 配置是:
使用这些配置,我得到:
请任何方向或帮助。
angular - Ngx translate aot 编译:在生产代码中更改翻译
我想编译我的角度应用程序 aot。我的翻译保存在服务器的数据库中。用户可以更改这些翻译。那么,如果用户更改了翻译,有没有办法让这些更改与 aot 编译一起使用?
angular - 错误:`运行时编译器未加载`在aot模式下
在我的 Angular 6 项目中,我想将所有路线定义为路线DashboardModule
的子项,如下面的代码profile
AppModule
此代码使用 JIT 编译器运行(aot:false
在angular.json
文件中),但使用 AOT 编译器(while )给出运行时编译器未加载aot:true
错误。
所以我的问题是,有没有办法在没有延迟加载的情况下将路由加载DashboardModule's
为配置文件路由的子级?AppModule
DashboardModule
angular - 需要简单值时的 Angular 模块
我一直在研究和搜索有关此问题的几天,但是尽管在线发布了各种变体,但仍未找到解决方案。
当我尝试在生产模式下使用 Angular CLI 编译我的应用程序时,我收到以下错误:
静态解析符号值时遇到错误。调用函数“FluffySpoonAuthenticationModule”,不支持函数调用。考虑将函数或 lambda 替换为对导出函数的引用,解析 app.module.ts 中的符号 AppModule,解析 app.module.ts 中的符号 AppModule
这是 的相关部分app.module.ts
。
现在,显然在导入部分,我正在调用一个方法。但是由于我需要指定一个动态字符串值作为模块的一部分,我需要能够以某种方式调用一个方法来配置该部分。此外,为什么它可以与其他forRoot
电话而不是我的电话一起使用,对吗?
FluffySpoonAuthenticationModule 的源代码在这里: https ://github.com/ffMathy/FluffySpoon.Angular.Authentication.Jwt/
我正在使用命令ionic cordova build android --prod
angular - 使用 as 关键字时,有没有办法在角度模板中保留类型?
Angular 可以在AOT中对模板进行类型检查,并在编译阶段抛出错误。
不幸的是,这在使用关键字时似乎不起作用as
,例如ngIf
:
*ngIf="typedVariable as newVariable"
或者在更常见的情况下,*ngIf="typedObservable | async as newVariable"
。
newVariable
在这两种情况下都不是类型安全的,即我可以在{{ newVariable.anyInvalidPropertyNameNotPresentInTypedVariable }}
没有任何错误或警告的情况下进行操作(情况并非如此{{ typedVariable.anyInvalidPropertyNameNotPresentInTypedVariable }}
)。
有什么方法可以实现类型安全,尤其是在async as
万一?
angular - angular ng build --prod 不会忽略未使用/未导入的组件
我有几个组件是模板的一部分,我不使用但没有物理删除的内容。
我已注释掉每个导入语句和对组件类的引用,但运行时仍然出现错误
ng build --prod
无法确定类 OrganizationComponent 的模块
有没有办法明确告诉 Angular 忽略它们?据我所知,aot默认应该忽略它......