不带index.html的Angular CLI构建

问题描述 投票:6回答:2

我们所有的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 angular-cli angular6 angular-cli-v6
2个回答
2
投票

如果有人仍然有相同的问题,这就是我解决的方法。

在您的angular.json中:

"architect": {
  "build": {
    ...
    "configurations": {
      "production": {
        "index": "", // Do not copy index.html
        ...

[ng build --prod将不会复制HTML文件,而ng buildng serve将继续按预期使用它。


1
投票

您可以在scriptspackage.json部分中串联命令。因此,添加一个delete命令并创建类似这样的内容(Windows命令;使其适应您的系统):

"scripts": {
   "build prod": "ng build --prod --env=prod -op dist && del dist\\index.html"
}
© www.soinside.com 2019 - 2024. All rights reserved.