发生未处理的异常:工作区中未设置配置“生产" [英] An unhandled exception occurred: Configuration 'production' is not set in the workspace
问题描述
在 Angular 8 中创建了一个项目.最初它只支持一种默认语言(US-EN).然后我应用了本地化.
Hi Created one project in Angular 8. Initially it was supporting only one default language (US-EN). then I applied localization.
在准备生产构建的本地化之前,我曾经给出以下命令.
before localization for preparing production build, I used to give following command.
ng build --prod --base-href "/Windchill/com/qiwkCollaborator/"
本地化后,我在 angular.json 和 package.json 中做了一些更改.进行这些更改后,每当我发出任何准备构建它的命令时,都会出现以下错误.
after localization, I made some changes in the angular.json and in package.json. after making these changes whenever I am giving any command to prepare to build it is giving me the following error.
An unhandled exception occurred: Configuration 'production' is not set in the workspace.
Package.json 文件的部分内容如下:
some portion of Package.json file is as follows:
"name": "qwik-collaborator",
"version": "1.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"build-locale:en": "ng build --prod --i18n-locale en --i18n-format xlf --i18n-file src/translate/messages.en.xlf --output-path=dist/en --baseHref /en/",
"build-locale:fr": "ng build --prod --i18n-locale fr --i18n-format xlf --i18n-file src/translate/messages.fr.xlf --output-path=dist/fr --baseHref /fr/"
Angular.json 文件的部分内容如下.
some portion of Angular.json file is as follows.
"build": {
"configurations": {
"fr": {
"aot": true,
"outputPath": "dist/qwikCollaborator/fr/",
"i18nFile": "src/translate/messages.fr.xlf",
"i18nFormat": "xlf",
"i18nLocale": "fr",
"i18nMissingTranslation": "error"
},
"en": {
"aot": true,
"outputPath": "dist/qwikCollaborator/en/",
"i18nFile": "src/translate/messages.en.xlf",
"i18nFormat": "xlf",
"i18nLocale": "en",
"i18nMissingTranslation": "error"
}
},
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/qwikCollaborator",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": false,
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss",
"src/assets/css/custom-mobile.css",
"src/assets/css/custom.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"src/assets/js/qwikCollaborator.js"
]
},
"configurations": {
"es5": {
"tsConfig": "./tsconfig.es5.json"
},
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
.......
"serve": {
"configurations": {
"fr": {
"browserTarget": "qwikCollaborator:build:fr"
},
"en": {
"browserTarget": "qwikCollaborator:build:en"
} ,
},
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "qwikCollaborator:build"
},
"configurations": {
"es5": {
"browserTarget": "qwikCollaborator:build:es5"
},
"production": {
"browserTarget": "qwikCollaborator:build:es5"
}
}
},
谁能帮我解决这个问题?
can anyone help me with this?
推荐答案
您正在使用 --prod
进行构建,这意味着使用 production
配置,这很明显已移除
You are building with --prod
, which means to use the production
configuration, which you obviously removed
您需要将构建脚本更改为
You need to change your build scripts to
"build-locale:en": "ng build -c en --output-path=dist/en --baseHref /en/",
"build-locale:fr": "ng build -c fr --output-path=dist/fr --baseHref /fr/"
angular.json
中指定的选项(如文件 i18n 文件格式和位置)不需要在构建命令中再次指定
Options that are specified in angular.json
(like file i18n file format and locations) do not need to be specified again in the build command
如果你想像以前一样使用 ng build --prod
构建,你只需要将 production
配置添加回 build
目标
If you want to build using ng build --prod
as before, you just need to add the production
configuration back into the build
target
这篇关于发生未处理的异常:工作区中未设置配置“生产"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!