Jay*_*yas 61 angular-upgrade angular angular13
我在将项目从 Angular 8.2.1 升级到 Angular 13 版本时遇到问题。
在准备构建时成功升级后,出现以下错误。
Data path "" must NOT have additional properties(extractCss).
Run Code Online (Sandbox Code Playgroud)
我已经在 angular.json 文件中重命名为styleext with style,但仍然无法找到此错误的根本原因。
angular.json 文件如下。
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"qiwkCollaborator": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"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/qiwkCollaborator",
"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"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
}
}
},
"serve": {
/* "configurations": {
"fr": {
"browserTarget": "qwikCollaborator:build:fr"
},
"en": {
"browserTarget": "qwikCollaborator:build:en"
} ,
},*/
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "qiwkCollaborator:build"
},
"configurations": {
"es5": {
"browserTarget": "qiwkCollaborator:build:es5"
},
"production": {
"browserTarget": "qiwkCollaborator:build:es5"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "qiwkCollaborator: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": [
"src/styles.scss"
],
"scripts": ["../node_modules/jspdf/dist/jspdf.min.js"]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
]
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "qiwkCollaborator:serve"
},
"configurations": {
"production": {
"devServerTarget": "qiwkCollaborator:serve:production"
}
}
}
}
}},
"defaultProject": "qiwkCollaborator"
}
Run Code Online (Sandbox Code Playgroud)
如何摆脱这个额外的财产?
谁能帮我这个?
提前致谢!
Ada*_*ros 135
只需将其"extractCss": true从生产环境中删除即可解决问题。
原因是 extractCss 已被弃用,并且它的值默认为 true。在此处查看更多内容:使用 Angular 11 将 CSS 提取到 JS(已弃用 extractCss)