发生未处理的异常:工作区中未设置配置 'production'
An unhandled exception occurred: Configuration 'production' is not set in the workspace
您好 在 Angular 8 中创建了一个项目。
最初它只支持一种默认语言 (US-EN)。然后我应用了本地化。
在准备生产构建的本地化之前,我曾经给出以下命令。
ng build --prod --base-href "/Windchill/com/qiwkCollaborator/"
本地化后,我在 angular.json 和 package.json 中做了一些更改。每当我发出任何准备构建的命令时进行这些更改后,都会出现以下错误。
An unhandled exception occurred: Configuration 'production' is not set in the workspace.
部分Package.json文件如下:
"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文件如下。
"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"
}
}
},
谁能帮我解决这个问题?
您正在使用 --prod
构建,这意味着使用 production
配置,您显然删除了它
您需要将构建脚本更改为
"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 文件格式和位置)不需要在构建命令中再次指定
如果您想像以前一样使用 ng build --prod
构建,只需将 production
配置添加回 build
目标
您好 在 Angular 8 中创建了一个项目。 最初它只支持一种默认语言 (US-EN)。然后我应用了本地化。
在准备生产构建的本地化之前,我曾经给出以下命令。
ng build --prod --base-href "/Windchill/com/qiwkCollaborator/"
本地化后,我在 angular.json 和 package.json 中做了一些更改。每当我发出任何准备构建的命令时进行这些更改后,都会出现以下错误。
An unhandled exception occurred: Configuration 'production' is not set in the workspace.
部分Package.json文件如下:
"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文件如下。
"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"
}
}
},
谁能帮我解决这个问题?
您正在使用 --prod
构建,这意味着使用 production
配置,您显然删除了它
您需要将构建脚本更改为
"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 文件格式和位置)不需要在构建命令中再次指定
如果您想像以前一样使用 ng build --prod
构建,只需将 production
配置添加回 build
目标