更新
有关此内容的最新文档可在以下链接找到:
https://angular.io/guide/workspace-config#assets-configuration
与以下版本的显著变化
- 配置文件现在称为
angular.json
- 路径现在相对于项目根目录而不是
src
团队已经在 Angular CLI 的后续版本(可能是 beta 17 或 19 - 已经在 final 1.x releases 中存在了很长时间)中添加了支持将特定文件原样复制到输出文件夹(默认为dist
)的功能。
只需将其添加到angular-cli.json
数组中,如下所示:
{
...
"apps" [
{
"root": "src",
"assets": [
"assets",
"web.config"
],
...
}
]
...
}
(请注意,路径相对于src
文件夹)
我个人使用它,它完全可以正常工作。
从beta 24开始,我已经添加了一个功能到Angular CLI中,确保在运行ng test
时,所有的assets
文件和文件夹都是从webpack dev server提供的,而不仅仅是ng serve
。
它还支持在用于单元测试的webpack dev server中提供资产文件(ng test
)。
(如果您需要一些JSON文件进行测试,或者只是讨厌在控制台中看到404警告)。
它们已经从ng e2e
中提供,因为它运行了完整的ng serve
。
它还有更高级的功能,比如过滤你想要的文件夹中的文件,并且使输出文件夹名称与源文件夹不同:
{
...
"apps": [
{
"root": "src",
"assets": [
"assets",
"web.config": {
// 将此文件夹中的内容复制
"input": "../",
// 匹配此通配符
"glob": "*.config",
// 并将它们放在`dist`文件夹下的此文件夹中('.'表示直接放在`dist`中)
"output": "."
}
],
...
}
]
...
}
您还可以参考官方文档:Angular指南-工作区配置。
.
[仅供存档] 原回答(2016年10月6日):
很遗憾,目前还不支持这个功能(截至beta-16版本)。我向团队提出了确切的问题(web.config文件),但看起来短时间内不会实现(除非您分叉CLI等)。
请关注this issue以获取完整讨论和可能的未来细节。
附言
对于JSON文件,您可以将其放在./src/assets/
中。此文件夹将按原样复制到./dist/assets/
中。这是当前的行为。
在systemJS时代,还有另一个./public/
文件夹,它直接被复制到./dist/
中,但在Webpack版本中已经消失,上面提到的问题进行了讨论。