如何在Angular部署时排除指定JSON测试文件?
排除Angular构建包中的指定JSON文件
要在执行ng build时排除src/assets/data.json不被复制到dist目录,可通过修改angular.json配置文件实现,以下是两种可行方案:
方案一:使用带忽略规则的对象配置(推荐)
在项目根目录的angular.json中,找到对应项目的build -> options -> assets节点,将原有的"src/assets"替换为包含ignore规则的对象配置:
"assets": [ "src/favicon.ico", { "glob": "**/*", "input": "src/assets", "output": "/assets/", "ignore": ["data.json"] } ]
该配置会复制src/assets下所有文件到dist的assets目录,但排除data.json。
方案二:使用glob排除模式
同样修改angular.json的assets节点,在包含src/assets所有文件的规则后,添加排除指定文件的规则(注意顺序,排除规则需放在包含规则之后):
"assets": [ "src/favicon.ico", "src/assets/**/*", "!src/assets/data.json" ]
针对生产环境单独配置(可选)
如果希望开发环境保留该测试文件,仅在生产构建时排除,可在configurations -> production节点下覆盖assets配置:
"configurations": { "production": { // 其他生产配置项... "assets": [ "src/favicon.ico", { "glob": "**/*", "input": "src/assets", "output": "/assets/", "ignore": ["data.json"] } ] } }
修改完成后,重新执行ng build(生产环境用ng build --configuration production),data.json就不会被包含在分发包中了。
内容的提问来源于stack exchange,提问作者Vihung
相关产品推荐
相关产品推荐

