在哪里指定delete-output-path?

Old*_*zer 2 tsconfig angular-cli angular

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

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

我知道delete-output-path可以在命令行上输入一个参数ng build

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

还是应该在tsconfig.json中?在哪个财产下?

Kab*_*bir 5

对于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",
Run Code Online (Sandbox Code Playgroud)

  • 尝试使用Angular CLI 7.0.7(和7.1.4)进行设置,我收到错误消息“数据路径“”不应具有其他属性(deleteOutputPath)” (4认同)
  • 实际上,@JanneHarju 我想我只是回答了我自己的问题。他们确实将该选项添加到 ng-packagr 中,但它被命名为“deleteDestPath”,并且与“$schema”一起出现在 ng-package.json 文件中 (2认同)

Aka*_*aur 4

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

{
  "$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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

希望能帮助到你 :)

  • 有人知道如何在 Angular CLI 6+ 中防止这种情况吗? (5认同)