我们所有的Angular应用程序都在其他应用程序(加载了javascript文件并包含.jsp
标记的<app-root>
文件中引导),因此我们不需要index.html
**。
但是,当我从index
中删除angular.json
属性时,出现错误:
数据路径“”应具有必需的属性“索引”。
如果我将其保留为空,则会生成,但会出现错误:
... 95%发出index-html-webpack-pluginEISDIR:对目录进行非法操作,请阅读 错误:EISDIR:对目录进行非法操作,请阅读
如何在没有ng build
的情况下执行index.html
?
**我们的部署过程现在实际上将index.html
复制到我们的CDN中,这是不需要的,因为我们根本不希望将这些文件提供给最终用户,index.html
仅在ng serve
期间供开发人员使用
如果有人仍然有相同的问题,这就是我解决的方法。
在您的angular.json
中:
"architect": {
"build": {
...
"configurations": {
"production": {
"index": "", // Do not copy index.html
...
[ng build --prod
将不会复制HTML文件,而ng build
和ng serve
将继续按预期使用它。
您可以在scripts
的package.json
部分中串联命令。因此,添加一个delete命令并创建类似这样的内容(Windows命令;使其适应您的系统):
"scripts": {
"build prod": "ng build --prod --env=prod -op dist && del dist\\index.html"
}