angular-cli beta.16,使用webpack。使用CLI创建的项目
您好,
这是我的项目结构:
- server
- server.js
- src
- app
- compoents & co
- assets
- index.html
我正在使用server.js来处理来自我的一个角度组件的上传请求。 文件已上传,我想把它放在assets目录中,所以我可以在app中使用它。
问题是当我做这样的工作(在资源文件夹中上传文件)使我的angular-cli重新构建整个应用程序时(因为它检测到我的文件发生了变化),所以应用程序重新加载到浏览器,我不能使用它。
有没有办法为CLI的“watch build”任务排除某些文件夹(对我来说是'assets'文件夹)?所以当我将新文件放入其中时,CLI不会再次构建应用程序?
谢谢你们!
答案 0 :(得分:1)
我不相信有。然而,你正在考虑这种落后,或者考虑到有这么多的赞成,我可能不理解这个问题。
我想将它放在assets目录中,所以 我可以在应用程序中使用它。
这不会加起来。你在应用程序中使用它是什么意思?您已经在应用程序中拥有这些文件,您自己说:
我正在使用server.js来处理来自我的一个角度组件的上传请求。
..来自我的一个角色组件..
让我们看看你可以做你想要的事情。文件上传到资产。怎么办 ?
Webpack-dev-server从内存中提供文件。使用--watch
,它会添加观察者,以便知道文件何时更改并更新其内存。如果文件没有改变(或者在一个假想的世界中,你没有按照你的要求观看目录),那么没有什么新东西可以服务。换句话说,您将无法在应用中的任何位置使用src="assets/myNewlyUploadedAsset.png"
,它将返回404.
我假设您要这样做,因为在server.js
您对这些文件进行了一些更改。那么你有什么选择来获得这些变化呢?
您将它存储在除资产之外的其他位置。这就是你应该做的,因为你的app文件夹确实不是上传用户内容的地方。
答案 1 :(得分:0)
您可以在 tsconfig.json
中添加排除文件的列表{
"exclude": [
"node_modules",
"./pathToYourFile"
]
}
在您的情况下,将是这样
{
"exclude": [
"node_modules",
"./server/server.js"
]
}