问题标签 [angular11]

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 回答
2899 浏览

angular - 在 Angular 11 中扩展 Angular DatePipe 错误,在 Angular 10 中工作

最初,我对 DatePipe 进行了简单的扩展,以从我们的标准(YYYYMMDD 格式)转换日期值,以便 Angular 中的 DatePipe 可以使用它。

在类中有一些额外的检查以确保正确的格式等,但问题的基础已经存在。这在 Angular 10 中有效。我刚刚更新到 Angular 11,代码现在在转换时产生错误:

0 投票
2 回答
19184 浏览

unit-testing - Angular 11 单元测试代码覆盖率现已突破

在升级到 Angular 11 之前,我通过以下命令运行了代码覆盖率的单元测试:

当我将我的项目升级到 Angular 11 时,我仍然能够进行代码覆盖测试,但我开始收到一条消息,说“自版本 11 以来,'karma-coverage-istanbul-reporter' 的使用已被弃用”。它要求我安装 karma-coverage 并更新 karma.conf.js。所以我按照它的要求做了。我通过以下命令安装了 karma-coverage 和 karma:

结果,我在 package.json 中的 devDependencies 下看到了 karma 的条目:

我更新了我的 karma.conf.js 文件。以下是存在的,除了我的评论外,一切都和原来一样:

进行此更新后,发生了两件事,我不知道为什么。

  1. 当我运行正常的代码覆盖命令时,我收到以下错误:“端口 9876 上的服务器启动失败:错误:必须安装 karma-coverage 才能运行代码覆盖。” 正如我的 package.json 所示,我确实安装了它,但由于某种原因,我的项目无法识别它。此外,如果我将 karma-coverage-istanbul-reporter require 方法添加到我的 conf.js 文件中,覆盖范围可以正常工作,但我仍然会收到该弃用消息。谁能向我解释为什么我可能会收到此错误?

  2. 当我在没有覆盖的情况下运行测试时,我现在收到多个以前从未收到过的警告,例如:“无法从文件扩展名确定文件类型,默认为 js。要使警告静音,请为 C:/Angular/ 指定一个有效类型/ my-project/projects/my-app/src/app/app.component.spec.ts 在配置文件中。” 我需要做什么来解决这个问题?

编辑:我找到了答案。在 coverageReporter 对象中,您需要将 fixWebpackSourcePaths 属性添加为 true:

0 投票
5 回答
8444 浏览

angular - 角度更新 10.2 到 11

我正在尝试将我的项目中的 Angular 从版本 10.2 更新到 11.0。运行 ng 更新:

不幸的是,我尝试更新的每个软件包都失败了。我尝试了 --force 和 --allowDirty 标志。

@角cli

@angular-devkit/build-angular

@角/材料

@角/cdk

更新按特定顺序安装后,我设法更新,但现在 NPM 不会安装,并给出以下消息:

0 投票
2 回答
289 浏览

angular - 自定义模块内的角度嵌套组件

所以我正在尝试使用 angular v11 构建一些东西。 我正在使用 Angular 版本 11,对吗?

而我的项目结构是这样的

在此处输入图像描述

page-not-found 是一个组件,umum 是一个模块。

UmumModule 是延迟加载的,在 app-routing.module.ts 中声明

在 UmmModule 中,我创建了指向 LandingComponent 的路由

此外,我还创建了另外 2 个组件:UmmModule 中的 SidebarComponent 和 SidebarContentComponent

这是 sidebar.component.ts

我想将 SidebarComponent 嵌套在 LandingComponent 视图中

但它总是给我错误 在此处输入图像描述

非常感谢您的帮助。

0 投票
4 回答
3409 浏览

angular - 升级到 Angular 11 后的延迟加载路由问题

我有一个顶级路由器,可以延迟加载子路由功能模块,升级到 Angular v11.0.1 后它已停止正常工作。

在 ng11 中的路由器事件中注销,功能模块被加载,并且RouteConfigLoadStartRouteConfigLoadEnd被正确的子路由器配置触发,但RoutesRecognized未被调用。如果我第二次单击链接(不是routerLink),所有事件都会正常触发并加载相应的组件。

澄清一下:这不仅仅是链接的问题。它也不适用于初始页面加载,除非我转到不同的路线(第一次也不会加载),然后返回原始路线

此设置在 Angular v10.2.3 中正常工作(即单击并在初始加载时)

应用路由模块:

仪表板路由模块

应用模块

应用组件模板

我很乐意提供任何可能有助于深入了解的其他详细信息。提前致谢。

0 投票
3 回答
690 浏览

javascript - 预处理:错误无法解析 @Component() 元数据路径/到/my.component.ts

我已将我的 Angular 项目更新为成功更新的 Angular v11。这带来了一个已弃用的警告,TSLint并按照此处概述的步骤 - 从 Codelyzer 和 TSLint 迁移,我设法迁移了它。

在此更新之后,我收到了几个错误,我知道如何解决,除了这个错误

以下是引发此错误的两个组件

label-star-required.component.ts

跳过链接.component.ts

从以上两个组件中,我可以看到共同的相似之处是两个文件都使用 inline template: 。这可能会导致运行时出现错误ng lint吗?我该如何解决这个问题?

0 投票
0 回答
8842 浏览

angular - 错误:Angular 编译器需要 TypeScript >=4.0.0 和 <4.1.0 但找到的是 4.1.2

在将现有应用程序迁移到 Angular 11 时,我遇到以下错误:

我不确定 4.1.2 依赖项来自何处。从全局安装运行 tsc 会返回 4.0.5:

运行本地版本返回相同的值:

npx tsc --version 版本 4.0.5

我知道我可以禁用 TS 版本检查,但我真的很想知道 4.1.2 版本的来源。

想法?

0 投票
0 回答
93 浏览

font-awesome-5 - 使用 library.add() 时显示备用 Font Awesome 图标的问题

在我的 Angular 11 演示应用程序中,我设置了一个单独的模块,在其中连接 FontAwesome,以免弄乱我的 AppModule。然后将该模块导入 AppModule。(过去将此方法与 Angular Material 一起使用并且效果很好。)

我看到的问题是我可以使用简单的语法:

并且图标的“实体”版本在我的组件中正确显示,但是当我使用括号语法时,绑定到图标指令以显示图标的替代版本......

...它不显示。有人可以告诉我我做错了什么吗?

fa-icons.module.ts

app.module.ts

0 投票
1 回答
3012 浏览

angular - Angular 11:未捕获的 ReferenceError:未定义进程

我已将 Angular cli 和核心从 7.1 更新到 11.0。更新成功,但构建后出现以下错误。任何帮助都会有所帮助,谢谢。

0 投票
3 回答
1184 浏览

angular - 使用模块联合架构导入 Angular 应用程序时,“必须从注入上下文调用 inject()”

我正在尝试按照这个示例Module federation with angular 使用webpack5 模块联合以 Angular 实现微前端概念,但我遇到了这个错误错误:未捕获(在承诺中):错误:必须从注入上下文调用注入()

我尝试了这个答案中提供的解决方案inject() must be called from an injection context但它不起作用。

目前我在两个应用程序中都使用 Angular 版本 11。

正在导入的应用的 package.json(子)

应用程序的 package.json 导入另一个应用程序(父)