【问题标题】:Where to specify delete-output-path?在哪里指定删除输出路径?
【发布时间】:2018-04-02 07:38:14
【问题描述】:

我有一个通过 Angular CLI 添加 Angular 的 Node Express 项目,即ng new

我不希望 Angular 输出清除分发文件夹。

我知道有一个delete-output-path 参数可以放在ng build 的命令行上。

是否可以将其放入 angular-cli.json 中?

还是应该在 tsconfig.json 中?在哪个属性下?

【问题讨论】:

    标签: angular angular-cli tsconfig


    【解决方案1】:

    对于 Angular CLI 6+,您必须编辑 angular.json 文件。您必须在构建选项中设置 deleteOutputPath false

    "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "../dist",
            "deleteOutputPath": false,   <--------------------------- put here
            "index": "src/index.html",
    

    【讨论】:

    • 尝试使用 Angular CLI 7.0.7(和 7.1.4)进行设置,我收到错误 Data path "" should NOT have additional properties(deleteOutputPath)
    • Angular 7 中是否还有类似的东西
    • @JanneHarju 它在我的 Angular 7.2.6 中工作,Angular CLI: 7.3.3
    • @Kabir 我的版本是 Angular cli: 7.3.1 和 Angular 7.2.4。我必须尝试更新并检查它们是否再次工作。
    • 实际上,@JanneHarju 我想我刚刚回答了我自己的问题。他们确实将该选项添加到 ng-packagr,但它被命名为“deleteDestPath”,它与“$schema”一起放在 ng-package.json 文件中
    【解决方案2】:

    是的,你可以。您必须将它放在 .angular-cli.json 的默认属性下,如下所示:

    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "project": {
        "name": "project-name"
      },
      "apps": [
        {// app property values here}
    
      ],
      "e2e": {
        "protractor": {
          "config": "./protractor.conf.js"
        }
      },
      "test": {
        "karma": {
          "config": "./karma.conf.js"
        }
      },
      "defaults": {
        "styleExt": "scss",
        "component": {},
        "serve": {
          "port": 3000
        },
        "build": {
          "deleteOutputPath": false
        }
      }
    }
    

    如果你想了解更多关于这个文件的结构,你可以去here

    希望对你有帮助:)

    【讨论】:

    • 有人知道如何在 Angular CLI 6+ 中防止这种情况发生吗?
    【解决方案3】:

    您应该在 package.json 文件中的 scripts 标签下指定标志,如下所示。

       "scripts": {
         "build": "ng build --prod --deleteOutputPath=false"
      },
    

    在上面的文件中,--deleteOutputPath 已在构建脚本中设置为 false。

    在项目的根文件夹中使用以下命令运行脚本。

    npm run build 
    

    【讨论】:

      猜你喜欢
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      相关资源
      最近更新 更多