【问题标题】:Configuration 'production' is not set in the workspace - Angular工作区中未设置配置“生产” - Angular
【发布时间】:2021-03-12 17:48:43
【问题描述】:

在Angular 应用程序中运行ng serve --prod 时,出现错误。使用 Windows10。

An unhandled exception occurred: Configuration 'production' is not set in the workspace.      
See "C:\Users\User\AppData\Local\Temp\ng-vzzrhY\angular-errors.log" for further details.

angular-error.log 文件下方信息

[error] Error: Configuration 'production' is not set in the workspace.
    at Object.getOptions (D:\ProjectPath\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:47:31)
    at WorkspaceNodeModulesArchitectHost.getOptionsForTarget (D:\ProjectPath\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:126:49)
    at async ServeCommand.runSingleTarget (D:\ProjectPath\node_modules\@angular\cli\models\architect-command.js:167:16)
    at async ServeCommand.runArchitectTarget (D:\ProjectPath\node_modules\@angular\cli\models\architect-command.js:195:24)
    at async ServeCommand.validateAndRun (D:\ProjectPath\node_modules\@angular\cli\models\command.js:139:28)
    at async Object.runCommand (D:\ProjectPath\node_modules\@angular\cli\models\command-runner.js:204:24)
    at async default_1 (D:\ProjectPath\node_modules\@angular\cli\lib\cli\index.js:80:31)

这是我的Angular.json 文件

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
"Project1": {
  "projectType": "application",
  "schematics": {},
  "root": "",
  "sourceRoot": "src",
  "prefix": "app",
  "architect": {
    "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "outputPath": "dist/Project1",
        "index": "src/index.html",
        "main": "src/main.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "tsconfig.app.json",
        "aot": true,
        "assets": [
          "src/favicon.ico",
          "src/assets"
        ],
        "styles": [
          "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
          "node_modules/bootstrap/dist/css/bootstrap.min.css",
          "src/styles.css"
        ]          
      },
      "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          "budgets": [
            {
              "type": "initial",
              "maximumWarning": "5mb",
              "maximumError": "10mb"
            },
            {
              "type": "anyComponentStyle",
              "maximumWarning": "6kb",
              "maximumError": "10kb"
            }
          ]
        }
      }
    },
    "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "disableHostCheck": true,
      "options": {
        "browserTarget": "Project1:build"
      },
      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" } 
        }       
    },
    "extract-i18n": {
      "builder": "@angular-devkit/build-angular:extract-i18n",
      "options": {
        "browserTarget": "Project1:build"
      }
    },
    "test": {
      "builder": "@angular-devkit/build-angular:karma",
      "options": {
        "main": "src/test.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "tsconfig.spec.json",
        "karmaConfig": "karma.conf.js",
        "assets": [
          "src/favicon.ico",
          "src/assets"
        ],
        "styles": [
          "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
          "../node_modules/bootstrap/dist/css/bootstrap.min.css",
          "src/styles.css"
        ],
        "scripts": [
          "node_modules/jquery/dist/jquery.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",              
          "/node_modules/popper.js/dist/umd/popper.min.js"
        ]
      }
    },
    "lint": {
      "builder": "@angular-devkit/build-angular:tslint",
      "options": {
        "tsConfig": [
          "tsconfig.app.json",
          "tsconfig.spec.json",
          "e2e/tsconfig.json",
          "tsconfig.worker.json"
        ],
        "exclude": [
          "**/node_modules/**"
        ]
      }
    },
    "e2e": {
      "builder": "@angular-devkit/build-angular:protractor",
      "options": {
        "protractorConfig": "e2e/protractor.conf.js",
        "devServerTarget": "Project1:serve"
      },
      "configurations": {
        "production": {
          "devServerTarget": "Project1:serve:production"
        }
      }
    }
  }
}
  },
  "defaultProject": "Project1",
  "cli": {
    "analytics": "8062720d-180a-4964-84ea-93f7438a70dd"
  }
}

我已经检查过了,但似乎有所不同 An unhandled exception occurred: Configuration 'production' is not set in the workspace

我该如何解决这个问题?

【问题讨论】:

  • production 是构建配置,而不是服务配置。请改用ng build --prod。

标签: angular typescript


【解决方案1】:

据我所知,您的服务配置中没有 production 配置。

  "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "disableHostCheck": true,
      "options": {
        "browserTarget": "Project1:build"
      },
      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" } 
        }       
    },

正如您在服务块中看到的,您有 fr 和 en 配置。所以你应该添加production 作为你的配置的一部分

      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" },
        "production": {"browserTarget": "qwikCollaborator:build:production" } 
        }       

这应该运行production builder

【讨论】:

  • 嗨,这个怎么样,stackoverflow.com/questions/56241827/…。
  • 所以在将production 添加到您的配置后,ng serve -c=production 仍然不起作用?
  • 这是说Invalid target: {"project":"qwikCollaborator","target":"build","configuration":"production"}
  • 你可以试试这个"production": {"browserTarget": "Project1:build:production"} 吗
猜你喜欢
  • 1970-01-01
  • 2020-08-30
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多