问题标签 [angular9]

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 投票
1 回答
3897 浏览

angular - 为什么 Angular 9 必须预编译自己的代码?

我刚刚将我的项目升级到 Angular 9,我注意到的第一件事是我的 CI 中的构建时间显着增加(从 2 分钟到 4 分钟)。

分析日志,每次执行测试或构建时,CLI 都会执行预编译。这是由于新的 Ivy 架构,但据我了解,这种编译应该只发生在与 Ivy 不兼容的代码上。

那么为什么我Compiling @angular/common : es2015 as esm2015在构建中看到很多(主要来自@angular 包)?Angular 代码本身不应该与 Ivy 兼容吗?

注意:这发生在一个新项目中(只有几个库)。

更新 所有需要构建的命令都会发生这种情况。前任:

  • ng test --code-coverage=true --watch=false --browsers=ChromeHeadle
  • ng b -c=staging --aot

更新 2

我正在添加我的构建进行比较:pre angular 9和 after angular 9 迁移(构建仍然失败,但我们可以使用单元测试作为参考,从 ~2 分钟到 ~4 分钟的总执行时间)

0 投票
0 回答
632 浏览

angular - Angular 9:使用 WebStorm 在库中进行 Karma 测试调试

尝试使用 WebStorm 调试 Angular 库时,这里有人遇到问题吗?我正在尝试创建一个 Karma 测试来测试我的服务,但不幸的是,由于没有达到我的断点,因此无法进行最后一次 Angular 更新调试。

我的 angular.json 中的测试部分如下:

我的 tsconfig.spec.js 如下:

我正在使用以下依赖项:

以下是我在调试时执行测试时 WebStorm 的输出:

奇怪的是,我的测试正在运行,并且在更新 Angular 之前调试已经运行。我还可以通过附加到端口来调试普通的 Angular 应用程序。当我尝试调试 Karma 测试时,它只是不起作用,有什么想法吗?

0 投票
1 回答
397 浏览

angular - 提供在平台与根

我正在努力寻找服务中的哪一个rootplatform选项providedIn更好。

两者都使服务在整个应用程序中可用,后者通过服务,前者通过根注入器。对此有何建议?

0 投票
2 回答
3241 浏览

angular - Angular 9 $localize 不适用于 --configuration=de

当使用“@angular/localize/”中的 $localize 和“ ng serve --configuration=de ”时,我得到了这个: $localize 未定义

仅使用“ ng serve ”运行项目时,它可以完美运行。

在 app.component.ts

在 Polyfills.ts 中

0 投票
0 回答
253 浏览

npm - ng-stripe-checkout 模块导入 Angular 9

升级到 Angular9 后,我在构建时遇到问题。这是我得到的错误:

node_modules/ng-stripe-checkout/src/stripe-checkout.module.d.ts:1:22 中的错误 - 错误 NG6002:出现在 AppModule 的 NgModule.imports 中,但无法解析为 NgModule 类

有任何想法吗?

0 投票
2 回答
516 浏览

angular - 从 Angular 8 更新到 9 导致生产构建的“ReferenceError: SomeAbstractModelClass is not defined”

我已将Angular 8 应用程序更新为 Angular 9。一切运行良好,如果我使用 启动应用程序ng serve,但如果我使用 启动应用程序ng serve --prod,我会在运行时收到以下错误:

我不知道问题可能是什么,因为所有内容都带有一些警告。

我还尝试禁用常春藤。:

然后我收到以下错误消息:

SomeOtherModelClass是扩展另一个抽象类的类。

这个问题的原因可能是什么?如果我能提供更多信息,请告诉我。

0 投票
12 回答
79690 浏览

angular - Job name "..getProjectMetadata" does not exist

I updated my angular to v9 and when I try to go back in v8, I receive this error. I have already tried the following:

  • uninstall -global angular/cli
  • uninstall angular/cli
  • go back to my last package.json
  • delete node_module folder
  • delete repo

This error continues to show.

My stacktrace is :

angular-errors.log :

ng --version :

0 投票
2 回答
5085 浏览

javascript - ExpressionChangedAfterItHasBeenCheckedError 在启用 Ivy 时更新到 Angular 9 后更改子级的父属性

我最近将我的 Angular 项目更新到版本 9。我正在使用一项服务来更新主菜单的标题,它运行成功,但现在生成了这个错误:

core.js:5828 ERROR 错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:'主标题'。当前值:“新标题”。

每次标题更改时都会发生此错误。

这是我的代码的一部分:

我的路由:

应用程序路由.module.ts:

主要成分:

main.component.ts:

我用来更改标题的服务: main.service.ts:

最后是我在仓库模块中更改标题的客户之一:

main.service.ts:

更新:

该问题仅在启用 Ivy 并处于开发模式时发生。"enableIvy": false或生产时没有错误。

0 投票
2 回答
6203 浏览

angular - 将角度 6 升级到 9 的最佳方法是什么?

目前,我的项目以 Angular 6 运行,我现在必须以 Angular 9 升级它,那么升级的最佳方式是什么?升级时要重点关注哪一点?分享你的知识

0 投票
1 回答
154 浏览

decorator - Angular 9 - 常春藤中的错误,装饰器元数据必须是内联的

Angular 9 和 ivy 是最近才发布的。但是迁移现在让我很头疼。不幸的是,列出的错误无处可寻,也不是很有意义。我寻求帮助!

编译错误