V5N*_*NXT 23 migration typescript angular angular5 angular6
将应用程序从5号角迁移到6号角后,运行ng时会弹出以下错误。
模式验证失败,并出现以下错误:数据路径“”不应具有其他属性(项目)。错误:模式验证失败,并出现以下错误:数据路径“”不应具有其他属性(项目)。在MergeMapSubscriber._registry.compile.pipe.operators_1.concatMap.validatorResult [作为项目](... / TemplateApp / me-cmf-web-template-angular / node_modules / @ angular-devkit / core / src / workspace / workspace中。 js:210:42)在MergeMapSubscriber._tryNext(/.../me-cmf-web-template-angular/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/mergeMap.js:65:27 )(位于MergeMapSubscriber.Subscriber._next(... / me-cmf-web-template-angular/node_modules/@angular-devkit/core/node_modules/rxjs/internal/operators/mergeMap.js:55:18)中。
我假设错误与.angular.json文件有关,该文件是从.angular-cli.json重命名的。
我的.angular.json文件如下:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"name": "mediaweb"
},
"apps": [{
"root": "src",
"outDir": "dist/browser",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.scss",
"../node_modules/owl.carousel/dist/assets/owl.carousel.css",
"../node_modules/owl.carousel/dist/assets/owl.theme.default.css",
"../node_modules/video.js/dist/video-js.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/owl.carousel/dist/owl.carousel.js",
"../node_modules/video.js/dist/ie8/videojs-ie8.js",
"../node_modules/video.js/dist/video.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.dev.ts",
"prod": "environments/environment.prod.ts"
}
},
{
"platform": "server",
"root": "src",
"outDir": "dist/server",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.server.ts",
"test": "test.ts",
"tsconfig": "tsconfig.server.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.scss"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.dev.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [{
"project": "src/tsconfig.app.json",
"exclude": ["**/node_modules/**", "**/UI/**"]
},
{
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**"
},
{
"project": "e2e/tsconfig.e2e.json",
"exclude": "**/node_modules/**"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"component": {}
}
}
Run Code Online (Sandbox Code Playgroud)
我应该重新构造json文件吗?
任何帮助都会很棒。
pin*_*lla 24
我的应用程序的角度为 7.2.3
从 angular.json 中删除 "es5BrowserSupport": true。并且 npm start 现在可以工作了。
Sas*_*mar 19
该问题通常是由于package.json文件中的版本不匹配所致。
在Angular 7应用中,我已更改"@angular-devkit/build-angular": "^0.800.2"为"@angular-devkit/build-angular": "~0.7.0"。
然后npm install删除后运行命令node_modules。
放在一边:^小心使用。如果所使用的程序包发生重大变化,则您的工作代码将来可能无法正常工作。
Bri*_*Ray 13
当我遇到版本错误问题时,以下命令对我有用:
第一次运行:
npm update
Run Code Online (Sandbox Code Playgroud)
第二次运行:
ng update
Run Code Online (Sandbox Code Playgroud)
第三次运行:(它将更新所有不匹配的包)
ng update --all --force
Run Code Online (Sandbox Code Playgroud)
小智 11
First:
npm uninstall @angular-devkit/build-angular
Run Code Online (Sandbox Code Playgroud)
Next:
npm install @angular-devkit/build-angular@0.12.4
Run Code Online (Sandbox Code Playgroud)
从 9 到 10 的 Angular 升级非常简单(所有其他详细信息都在这里:https : //update.angular.io/?v=9.0-10.0):
确保您的包文件处于版本控制中并且所有更改都已提交。这将覆盖您的包文件。最好在新的实验分支中尝试。
npm install -g npm-check-updates
ncu -u
ng update --all --force
Run Code Online (Sandbox Code Playgroud)
在新模式中,不再允许使用 key es5BrowserSupport,在您的 中删除以下行angular.json:
"es5BrowserSupport": true
Run Code Online (Sandbox Code Playgroud)
然后简单地重新启动您的应用程序:
npm start
Run Code Online (Sandbox Code Playgroud)
小智 6
更改package.json自:
"@angular-devkit/build-angular": "^0.13.5",
Run Code Online (Sandbox Code Playgroud)
到:
"@angular-devkit/build-angular": "^0.12.1",
Run Code Online (Sandbox Code Playgroud)
因为我解决了这个问题,所以我认为把它贴在这里会很好。
我将文件名 .angular.json 更改为 angular.json 并替换了其中问题的一些属性。
{
"$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"template-appv6": {
"root": "",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/browser",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"polyfills": "src/polyfills.ts",
"assets": [
{
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
},
{
"glob": "favicon.ico",
"input": "src",
"output": "/"
}
],
"styles": [
"src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "template-appv6:build"
},
"configurations": {
"production": {
"browserTarget": "template-appv6:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "template-appv6:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"karmaConfig": "./karma.conf.js",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"scripts": [],
"styles": [
"src/styles.css"
],
"assets": [
{
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
},
{
"glob": "favicon.ico",
"input": "src",
"output": "/"
}
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
},
"server": {
"builder": "@angular-devkit/build-angular:server",
"options": {
"outputPath": "dist/server",
"main": "src/main.server.ts",
"tsConfig": "src/tsconfig.server.json"
}
}
}
},
"template-appv6-e2e": {
"root": "",
"projectType": "application",
"cli": {},
"schematics": {},
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "template-appv6:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"e2e/tsconfig.e2e.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"cli": {},
"schematics": {
"@schematics/angular:component": {
"prefix": "app",
"styleext": "css"
},
"@schematics/angular:directive": {
"prefix": "app"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我通过用 angular 官方文档中的属性替换 angular.json 文件来更改文件。
官方Angular 更新指南提供了有关如何更新版本的分步指南。
| 归档时间: |
|
| 查看次数: |
30798 次 |
| 最近记录: |