目前,我在我的整个Angular项目中使用AOT编译。但是,我想在serve architect中的任何配置中使用JIT。我如何才能做到这一点?
我试过了:
{
"projects": {
"fooProject": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"aot": true,
"buildOptimizer": true
},
"configurations": {},
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "fooProject:build",
"optimization": false,
"sourceMap": true,
"vendorChunk": false
},
"configurations": {},
}
}
}
}
}在这种情况下,我会得到一个错误:
An unhandled exception occurred: The 'buildOptimizer' option cannot be used without 'aot'.显然,在开始编译之前不会删除与AOT相关的选项(比如buildOptimizer)。
发布于 2020-01-22 17:49:07
您需要覆盖服务对象中的buildOptimizer和aot选项。这是因为您使用了browserTarget:fooProject:build。这将获得在fooProject.build对象中定义的设置,并将这些设置与服务选项合并。因此,options对象不会被覆盖,而是合并在一起。
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "fooProject:build",
"optimization": false,
"sourceMap": true,
"vendorChunk": false,
"buildOptimizer": false,
"aot": false
},
"configurations": {},
}https://stackoverflow.com/questions/59270693
复制相似问题