Angular version 12 to version 13 若干变化记录

139 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

导语

最近angular 版本升级,从12到13 。 针对升级的变化和一些问题进行记录。

版本变化介绍

版本发布

  • 几乎每半年发布一次主版本
  • 主版本发布后,半年里:
    • 会有1-3次, 次版本发布。也就是每2个月几乎发布一次
    • 每个月里面,会有接近4次的修复发布
  • 主版本发布后,半年后,还有1年的支持时间

版本升级术语

废弃的内容描述
Announcement可以在这里查看change log. 废弃的APIs会用中横线划掉,文档中同时也会给出升级意见,请查看 documentation 另,所有废弃的 Deprecations可以点这里 
Deprecation period当 API or a feature被废弃了,依旧会在接下来的两个主版本里出现,之后才会被删除。也就是一旦声明为废弃,那么一年后,就会被删除掉。
npm dependencies主版本里面,才会要求更新依赖,其余的版本更新,不做要求,仅仅会更新兼容性依赖。

v13 版本维护

image.png

升级策略

使用ngUpdate

image.png

这里会给出升级的一些策略

# 譬如
ng update @angular/core@13 @angular/cli@13

使用npm-check更新 package.json

npm install -g npm-check-updates

//or
npm install -g npm-check

package.json升级后

删除node_modules,重新安装即可

升级带来的开发变化

从Angular 7版本开始, Angular core 和 Angular CLI 版本保持一致。

直接冲击

变化的级别描述
主(大)版本往往包含了重要的新特性,此时升级,可能需要升级scripts, 重构 code, 额外多做一些测试, 同时,了解新的 APIs.
次(小)版本包含小的特性发布, 可以选择不更新
补丁仅仅是bug 修复

生态变化要求

  • Typescript 要求 最低 4.4.2,之前版本,不在支持
  • Nodejs, v12.20.0之前的不在支持,要求 14.15.0 or 16.10.0之上

移除 View Engine

全部使用ivy编译引擎

输出优化

把view engine相关的输出配置,全部移除

不在支持ie11

Testbed module teardown

对UT module测试可能的影响

持久化构建缓存

对构建加速可能有影响

拓展

如何快速删除node_modules

Linux or Mac

rm -rf node_modules

Windows 推荐rimraf

npm install rimraf -g
rimraf node_modules

# 删除多个目录下的
rimraf ./**/node_modules

npmkill

npm i -g npkill

如果不是全部删除,可以删除更新部分

npm uninstall <package name>

yarn timeout

set http_proxy=

set https_proxy=

yarn config delete proxy

npm config rm https-proxy

npm config rm proxy

npm config set registry "https://registry.npmjs.org"
yarn config set registry https://r.npm.taobao.org

yarn install --network-timeout 600000

yarn config set network-timeout 600000 -g

总结

版本升级后,需要做的就是多测试,找到问题,然后fix。