Dou*_*eri 36 angular-cli angular
在 Angular 10 中,您可以使用创建一个新项目 ng new --strict
启用此标志会使用一些新设置初始化您的新项目,以提高可维护性,帮助您提前捕获错误,并允许 CLI 对您的应用程序执行高级优化
是否有将现有项目升级到严格模式的命令行,或者我只需要创建一个新项目然后从另一个项目复制粘贴文件?
Pie*_*Duc 42
基本上有几件事发生了变化:
tsconfig.base.json 获得一些新规则:"compilerOptions": {
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true
},
"angularCompilerOptions": {
"strictInjectionParameters": true,
"strictTemplates": true
}
Run Code Online (Sandbox Code Playgroud)
tslint.json被更新"no-any": true
Run Code Online (Sandbox Code Playgroud)
angular.json:"configurations": {
//...
[envName]: {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb",
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb",
},
]
}
}
Run Code Online (Sandbox Code Playgroud)
和一个原理图添加到您的projects.[projectName].schematics路径中angular.json:
schematics: {
"@schematics/angular:application": {
"strict": true
}
}
Run Code Online (Sandbox Code Playgroud)
package.json更新了一个sideEffects属性:sideEffects: false
Run Code Online (Sandbox Code Playgroud)
为了解释这是什么,我可以给你参考这个答案。
它package.json位于您的应用程序文件夹内。使用该ng update选项时,应将其添加到迁移中。如果你没有这个文件,你可以使用这个模板
要转换当前的代码库,尤其是 tsconfig 更新,这no-any会让您头疼。但是获得更好的(更少隐藏的错误)和更容易重构代码库绝对是值得的。