Angular 11到升级到 Angular 16

这篇具有很好参考价值的文章主要介绍了Angular 11到升级到 Angular 16。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

日新月异,与时俱进…
随着Angular版本不断更新,再看所开发的项目版本仍然是Angular 11,于是准备升级
截止发博日最版本是 v17.1.0,考虑到稳定性因素决定升级到v16版本

一:查看 升级指南

二:按照指南,逐步升级

1、Angular 11 升级到Angular 12

执行命令行

ng update @angular/core@12 @angular/cli@12

但是发现直接报错了…
Angular 11到升级到 Angular 16,Angular,前端,angular
红色字体大概意思就是:
迁移失败:发现不兼容的对等依赖项
安装依赖项时的对等依赖项警告意味着这些依赖项可能无法正确协同工作。
您可以使用“–force”选项来忽略不兼容的对等依赖项,而是在以后处理这些警告。

既然提示文案中已经明确建议使用 --force 进行升级,于是在命令行后边加上 --force 试试

ng update @angular/core@12 @angular/cli@12 --force

Angular 11到升级到 Angular 16,Angular,前端,angular
如图中所示,更新成功,并且会逐一列出都有哪些改动点,并且会根据要升级到的Angular12版本的语法规则自动修复项目中代码
例如:

angular.json 文件

去除了"buildOptimizer"、“aot”配置项,增加了“namedChunks”配置项等等
Angular 11到升级到 Angular 16,Angular,前端,angular

package.json 文件

因为命令行会自动升级相对应的包,所以只截取了部分代码供参考。
Angular 11到升级到 Angular 16,Angular,前端,angular

test.ts 文件

Angular 11到升级到 Angular 16,Angular,前端,angular
升级完 angular-cli,决定同时升级一下配套的 ng-zorro-antd 于是又到了 ng-zorro官网 查看 v13升级指南
Angular 11到升级到 Angular 16,Angular,前端,angular
按照指示,在终端输入 ng update ng-zorro-antd 之后发现直接把这个包升级到了v17版本,这还得了,不匹配了呀!随后加上版本号,并带上 --force 进行升级,就成功了

ng update ng-zorro-antd@12.1.1 --force

随后,开始运行项目,初尝试是否会报错???
答案当然是:是!
Angular 11到升级到 Angular 16,Angular,前端,angular
先排查了下 package.json 文件是不是某些包没自动升级导致的,后来排查到 “@ant-design/icons-angular” 仍然是 “^11.0.1”,随后进行了手动升级!

再次启动,仍然失败!

再后边又一直以为是 postcss-loader的锅,试了多种方案仍解决无果,直到注意到下边这句报错

BrowserslistError: Unknowm version 114 of android

果断!找到!文件!中的!

.browserslistrc 文件,一顿修改,再次启动,成功!

2、Angular 12 升级到 Angular 13

ng update @angular/core@13 @angular/cli@13 --force

entryComponents is no longer available and any reference to it can be removed from the @NgModule and @Component public APIs.

这一命令会将项目中@NgModule 中所有包含 entryComponents 的地方的该属性全部自动删除!
ps:会智能识别到该 entryComponents 属性值是否被使用 ,如果未使用则不做处理。

注意:要同时升级 ng-zorro-antd 和 @ant-design/icons-angular

3、Angular 13 升级到 Angular 14

ng update @angular/core@14 @angular/cli@14 --force

Angular 11到升级到 Angular 16,Angular,前端,angular
对于项目文件最大变化便是(自动全局替换,因为我们的是后台管理系统,所以一下子给我更改了六百多个文件…):
将 FormBuilder 更换为 UntypedFormBuilder
将 FormGroup 更换为 UntypedFormGroup
Angular 11到升级到 Angular 16,Angular,前端,angular
除此之外,还有

angular.json 文件

去除了 “defaultProject”: “frontend”,

package.json 文件

Angular 11到升级到 Angular 16,Angular,前端,angular

tsconfig.json 文件

Angular 11到升级到 Angular 16,Angular,前端,angular
注意:要同时升级 ng-zorro-antd 和 @ant-design/icons-angular

4、Angular 14 升级到 Angular 15

ng update @angular/core@15 @angular/cli@15 --force

package.json 文件

Angular 11到升级到 Angular 16,Angular,前端,angular

tsconfig.json 文件

Angular 11到升级到 Angular 16,Angular,前端,angular

test.ts 文件

Angular 11到升级到 Angular 16,Angular,前端,angular

app-routing.module.ts 文件

 imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],
 更改为:
 imports: [RouterModule.forRoot(routes, {})],

注意:要同时升级 ng-zorro-antd 和 @ant-design/icons-angular

5、Angular 15 升级到 Angular 16

ng update @angular/core@16 @angular/cli@16 --force

package.json 文件

Angular 11到升级到 Angular 16,Angular,前端,angular
除此之外弃用 CanActivate, CanActivateChild
详情可见 官网说明

注意:要同时升级 ng-zorro-antd 和 @ant-design/icons-angular

注意:同步更改 ng-zorro-antd 相关语法
不同的版本要找不同的更新日志,例如:ng-zorro-antd 更新日志

Angular 11到升级到 Angular 16,Angular,前端,angular
温馨提示:遇到上述这种,一定要同步更改代码哦,要不然会启动不起来~~~文章来源地址https://www.toymoban.com/news/detail-762377.html

到了这里,关于Angular 11到升级到 Angular 16的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • angular前端环境搭建、安装angular

    1.下载node.js安装包(要求node版本大于12.20) Node.js官方网站 : https://nodejs.org/en/ 进入官网后,当前页面下载的是最新版本,如需要下载历史版本,点击红框标注的其他下载,在进入的新的页面底部,选择红框标准的先前版本,然后下载相应的版本,在跳转的页面下载win64的版

    2024年02月03日
    浏览(58)
  • Angular升级后运行编译变慢?如何解决?

            公司的Angular项目升级后,使用体验感十分不好,运行、编译的时间明显增长,工作效率是十分低下,但奈何公司的大佬们都有自己的事情要忙,结识的大佬也不够多,只能靠自己找度娘了。但是,哎,你还别说,真让我找到了!!! 感谢下面这位大大的分享:解

    2024年02月22日
    浏览(29)
  • Angular 13新特性概览与升级指南

    Angular 13是Angular框架的最新版本,它引入了一些新的特性和改进。下面是Angular 13的一些新特性概览和升级指南: Ivy Renderer改进:Angular 13进一步改进了Ivy渲染器,提供更好的性能和更小的包大小。这意味着你可以在应用程序中获得更快的加载时间和更流畅的用户体验。 更好的

    2024年04月25日
    浏览(43)
  • angular框架简介基础与使用(全文2w8字)前端框架angular

    本文的所有内容,可以在我的博客上看到,下面是地址。建议去博客看,因为csdn的这篇图片我没上传。 可以转载,但请注明出处 我的博客—点击跳转 https://numb.run Angular是谷歌开发的一款开源的web前端框架,诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀

    2024年02月02日
    浏览(45)
  • Angular:引领未来的前端框架

    Angular是一款由Google开发的强大前端框架,具有丰富的特性和卓越的性能。本文将介绍Angular的基本概念、特点、应用场景以及与其他框架的对比。 一、引言 随着Web应用程序的日益复杂,前端框架在开发过程中扮演着越来越重要的角色。Angular作为一款由Google主导的前端框架,

    2024年01月22日
    浏览(46)
  • 2023.07.07面试偏前端angular

    ==和===是JavaScript中的两个比较运算符,用于比较两个值的相等性。 ==是松散相等运算符,它会进行类型转换后再比较值是否相等。如果两个值的类型不同,==会尝试将它们转换为相同的类型,然后再进行比较。例如,1 == \\\'1\\\'会返回true,因为它们在进行比较之前会被转换为相同

    2024年02月13日
    浏览(41)
  • 前端Angular框架基础知识(一)

    1.1 数据绑定 数据驱动DOM:将组件 类 (.ts文件)中的数据显示在组件 模板 (.html文件)中,当类中的数据发生变化会自动同步到模板中. Angular中使用差值表达式进行数据绑定, {{ }}语法 1.2 属性绑定 1.2.1 普通属性 使用【属性名称】为元素绑定DOM对象属性 使用【attr.属性名称】为元

    2024年01月17日
    浏览(40)
  • 三大前端技术(React,Vue,Angular)

    React(也被称为React.js或ReactJS)是一个用于构建用户界面的JavaScript库。它由Facebook和一个由个人开发者和公司组成的社区来维护。 React可以作为开发单页或移动应用的基础。然而,React只关注向DOM渲染数据,因此创建React应用通常需要使用额外的库来进行状态管理和路由,Red

    2024年02月09日
    浏览(54)
  • 前端开发框架生命周期详解:Vue、React和Angular

    作为前端开发者,掌握前端开发框架的生命周期是非常重要的。在现代Web应用开发中,Vue.js、React和Angular是三个最流行的前端开发框架。本篇博客将详细解读这三个框架的生命周期,包括每个阶段的含义、用途以及如何最大限度地利用它们。通过详细的代码示例和实用的技巧

    2024年02月13日
    浏览(53)
  • 前端框架之战:React vs Vue vs Angular

    前端框架在现代网页开发中扮演着越来越重要的角色,它们为开发者提供了一种更高效、可扩展的方式来构建复杂的用户界面。在过去的几年里,我们看到了许多前端框架和库的出现,如React、Vue和Angular等。这三个框架分别由Facebook、Google和AngularJS团队开发,它们都是目前最

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包