携手创作,共同成长!这是我参与「掘金日新计划 · 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 版本维护
升级策略
使用ngUpdate
这里会给出升级的一些策略
# 譬如
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
or16.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。