问题标签 [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.
angular - 在 Angular 11 中扩展 Angular DatePipe 错误,在 Angular 10 中工作
最初,我对 DatePipe 进行了简单的扩展,以从我们的标准(YYYYMMDD 格式)转换日期值,以便 Angular 中的 DatePipe 可以使用它。
在类中有一些额外的检查以确保正确的格式等,但问题的基础已经存在。这在 Angular 10 中有效。我刚刚更新到 Angular 11,代码现在在转换时产生错误:
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 文件。以下是存在的,除了我的评论外,一切都和原来一样:
进行此更新后,发生了两件事,我不知道为什么。
当我运行正常的代码覆盖命令时,我收到以下错误:“端口 9876 上的服务器启动失败:错误:必须安装 karma-coverage 才能运行代码覆盖。” 正如我的 package.json 所示,我确实安装了它,但由于某种原因,我的项目无法识别它。此外,如果我将 karma-coverage-istanbul-reporter require 方法添加到我的 conf.js 文件中,覆盖范围可以正常工作,但我仍然会收到该弃用消息。谁能向我解释为什么我可能会收到此错误?
当我在没有覆盖的情况下运行测试时,我现在收到多个以前从未收到过的警告,例如:“无法从文件扩展名确定文件类型,默认为 js。要使警告静音,请为 C:/Angular/ 指定一个有效类型/ my-project/projects/my-app/src/app/app.component.spec.ts 在配置文件中。” 我需要做什么来解决这个问题?
编辑:我找到了答案。在 coverageReporter 对象中,您需要将 fixWebpackSourcePaths 属性添加为 true:
angular - 角度更新 10.2 到 11
我正在尝试将我的项目中的 Angular 从版本 10.2 更新到 11.0。运行 ng 更新:
不幸的是,我尝试更新的每个软件包都失败了。我尝试了 --force 和 --allowDirty 标志。
@角cli
@angular-devkit/build-angular
@角/材料
@角/cdk
更新按特定顺序安装后,我设法更新,但现在 NPM 不会安装,并给出以下消息:
angular - 自定义模块内的角度嵌套组件
而我的项目结构是这样的
page-not-found 是一个组件,umum 是一个模块。
UmumModule 是延迟加载的,在 app-routing.module.ts 中声明
在 UmmModule 中,我创建了指向 LandingComponent 的路由
此外,我还创建了另外 2 个组件:UmmModule 中的 SidebarComponent 和 SidebarContentComponent
这是 sidebar.component.ts
我想将 SidebarComponent 嵌套在 LandingComponent 视图中
非常感谢您的帮助。
angular - 升级到 Angular 11 后的延迟加载路由问题
我有一个顶级路由器,可以延迟加载子路由功能模块,升级到 Angular v11.0.1 后它已停止正常工作。
在 ng11 中的路由器事件中注销,功能模块被加载,并且RouteConfigLoadStart
都RouteConfigLoadEnd
被正确的子路由器配置触发,但RoutesRecognized
未被调用。如果我第二次单击链接(不是routerLink
),所有事件都会正常触发并加载相应的组件。
澄清一下:这不仅仅是链接的问题。它也不适用于初始页面加载,除非我转到不同的路线(第一次也不会加载),然后返回原始路线
此设置在 Angular v10.2.3 中正常工作(即单击并在初始加载时)
应用路由模块:
仪表板路由模块
应用模块
应用组件模板
我很乐意提供任何可能有助于深入了解的其他详细信息。提前致谢。
javascript - 预处理:错误无法解析 @Component() 元数据路径/到/my.component.ts
我已将我的 Angular 项目更新为成功更新的 Angular v11。这带来了一个已弃用的警告,TSLint
并按照此处概述的步骤 - 从 Codelyzer 和 TSLint 迁移,我设法迁移了它。
在此更新之后,我收到了几个错误,我知道如何解决,除了这个错误
以下是引发此错误的两个组件
label-star-required.component.ts
跳过链接.component.ts
从以上两个组件中,我可以看到共同的相似之处是两个文件都使用 inline template:
。这可能会导致运行时出现错误ng lint
吗?我该如何解决这个问题?
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 版本的来源。
想法?
font-awesome-5 - 使用 library.add() 时显示备用 Font Awesome 图标的问题
在我的 Angular 11 演示应用程序中,我设置了一个单独的模块,在其中连接 FontAwesome,以免弄乱我的 AppModule。然后将该模块导入 AppModule。(过去将此方法与 Angular Material 一起使用并且效果很好。)
我看到的问题是我可以使用简单的语法:
并且图标的“实体”版本在我的组件中正确显示,但是当我使用括号语法时,绑定到图标指令以显示图标的替代版本......
...它不显示。有人可以告诉我我做错了什么吗?
fa-icons.module.ts
app.module.ts
angular - Angular 11:未捕获的 ReferenceError:未定义进程
我已将 Angular cli 和核心从 7.1 更新到 11.0。更新成功,但构建后出现以下错误。任何帮助都会有所帮助,谢谢。
angular - 使用模块联合架构导入 Angular 应用程序时,“必须从注入上下文调用 inject()”
我正在尝试按照这个示例Module federation with angular 使用webpack5 模块联合以 Angular 实现微前端概念,但我遇到了这个错误
我尝试了这个答案中提供的解决方案inject() must be called from an injection context但它不起作用。
目前我在两个应用程序中都使用 Angular 版本 11。
正在导入的应用的 package.json(子)
应用程序的 package.json 导入另一个应用程序(父)