在Angular12的开发模式下构建
Angular 12 带有默认的 prod 模式,我们如何保持旧的 dev 模式?我们缺少 sourcemap 并且默认情况下 main.js 也被缩小,这很酷但在开发人员模式下没有帮助。
所以问题是如何回到旧的开发模式或生成源映射而不是缩小。尝试更新 angular.json 中的配置但没有奏效。
"optimization": {
"scripts": false,
"styles": {
"minify": false,
"inlineCritical": false
},
"fonts": false
},
"outputHashing": "none",
"sourceMap": true,
"extractCss": true,
回答
来自官方文档
--prod 已弃用:改用 --configuration 生产。
默认配置设置为生产用于ng build生成新项目时。
你有2个选择
- 构建使用
ng build --configuration development
- 更改默认设置,以发展的
angular.json文件
projects > {YOUR-PROJECT-NAME} > architect > build > defaultConfiguration
回答
我刚刚在构建/配置下添加了一个开发部分
"development": {
"optimization": false,
"sourceMap": true,
"namedChunks": true,
"extractLicenses": true,
"vendorChunk": true,
"buildOptimizer": false,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "6mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
}
在服务/配置下:
"development": {
"browserTarget": "studio:build:development"
}
我使用 ng serve myapp --configuration development 运行该应用程序
回答
问题是你ng update更新到最新版本的时候没有使用,而是你手动升级了。
您可以尝试自己运行迁移:
ng update @angular/cli --migrate-only --from 11 --to 12
如果由于某种原因这不起作用,则angular.json已经获得了相当多的更新。我建议您使用 v12 创建一个新项目并检查您当前的 angular.json 和新项目之间有什么区别。
例如,在.../architect.serve路径内部没有"defaultConfiguration": "development"条目。.../architect.buildthis在哪里设置为"production". 也许为您的项目添加这些应该已经足够了。