我有一些资产(图像,样式)仅在开发(服务时)时需要。这些资产不得包含在生产版本中。在生产中,这些资产由CDN提供。
我需要:
但是:
我在SO上解决了10个类似的问题,在github上解决了5个问题,它们都处理排除文件,但是没有一个解决了我的问题。
答案 0 :(得分:3)
在angular.json
内有一个配置对象projects.{project-name}.architect.build.configurations
。
将产品条目中的assets
设置为[]
"prod": {
//...
"assets": []
}
这是未经测试的,但是通过从配置文件中了解到的信息来看,这应该是可能的。
这将进行任何构建并与生产标记一起使用以排除资产。如果您确实希望所有构建(无论环境如何)都没有资产,则将assets
数组从projects.{project-name}.architect.build.options
移到projects.{project-name}.architect.serve.options
并在build
中设置一个到一个空数组。
答案 1 :(得分:1)
PS:代码尚未尝试过,但由于注释太长,因此请在此处发布答案。
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
....
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
...
],
"scripts": []
}
}
},
"serve": {
"assets": [
"src/assets"
],
}
答案 2 :(得分:0)
看来Poul Kruijt的答案对于旧版本的angular是正确的。
在Angular 9 prod
上的条目对我不起作用。您必须改用production
。
这就是我在角度9中的工作方式。