angular7升级到angular8
angular7升级到angular8最近换了项目组,技术栈也更换了(原来是Vue,现在是angular)。正好赶上版本升级,于是自己尝试升级,顺便记录了过程中遇到的问题,希望可以帮到需要升级的朋友。先使用ng update 查看我们这个项目需要升级的依赖依次升级对应的依赖(根据上图中 Command to update的提示一次升级)ng update @angular/cli升级...
最近换了项目组,技术栈也更换了(原来是Vue,现在是angular)。正好赶上版本升级,于是自己尝试升级,顺便记录了过程中遇到的问题,希望可以帮到需要升级的朋友。
- 先使用
ng update
查看我们这个项目需要升级的依赖
- 依次升级对应的依赖(根据上图中
Command to update
的提示一次升级)
ng update @angular/cli
- 升级后踩过的坑(问题下面的解决方案,只是写了一个示例)
可以通过ng lint
指令,查看需要修改的文件列表,根据提示一一修改。
也可以先通过ng lint --fix
指令,先自动修复。然后再看需要手动修复的错误。
(1)ViewChild
与ContentChild
用法发生了变化
Before:
@ViewChild('foo') foo: ElementRef;
After:
@ViewChild('foo', {static: true}) foo: ElementRef;
(2) Boolean ===》 boolean
问题:Type boolean trivially inferred from a boolean literal, remove type annotation
将 @output showAllTab :boolean = false;
改为 @output showAllTab = false;
(3) 问题:Consecutive blank lines are forbidden
禁止连续空行
(4) 问题:Don't use 'String' as a type. Avoid using the
Stringtype. Did you mean
string?
将 name: String;
改成 name: string;
(5) 问题:Don't use 'Number' as a type. Avoid using the
Numbertype. Did you mean
number?
将categoryId: Number;
改为 categoryId: number;
(6) 问题:Don't use 'Object' as a type. Avoid using the
Objecttype. Did you mean
object?
将 totalBillList: Object = new TotalBillModel();
改为 totalBillList: object = new TotalBillModel();
(7) 问题:Unnecessarily quoted property 'username' found.
将 ‘username’: username
改为 username: username
(8) 问题: Spaces before function parens are disallowed
将
formatter: function (value) {
return '$' + value;
}
改为
formatter: value => {
return '$' + value;
}
(9) 问题:Type number trivially inferred from a number literal, remove type annotation
有初始值的话 不需要定义类型
将 selectType: number = 0;
改为 selectType= 0;
(10) 问题:Multiple variable declarations in the same statement are forbidden
多元变量禁止在同一条语句中声明
将 const input = control.value, isValid = input < min;
改为
const input = control.value;
const isValid = input < min;
(11) 问题: statements are not aligned
语句未对齐
(12) 问题:file should end with a newline。
文件应以换行符结尾
更多推荐
所有评论(0)