更新到 Angular 10 错误:无法将"tsconfig.json"解析为 JSON AST 对象



我正在尝试将Angular 9应用程序更新为Angular 10,但收到一个错误:

> Removing "Solution Style" TypeScript configuration file support.
× Migration failed: Failed to parse "tsconfig.json" as JSON AST Object. PropertyNameExpected at location: 571.
See "C:UsersF11KAppDataLocalTempng-T8Bgiuangular-errors.log" for further details.

这就是日志文件的内容:

[error] Error: Failed to parse "tsconfig.json" as JSON AST Object. PropertyNameExpected at location: 571.
at JSONFile.get JsonAst [as JsonAst] (C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularutilityjson-file.js:33:19)
at JSONFile.get (C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularutilityjson-file.js:41:61)
at C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularmigrationsupdate-10remove-solution-style-tsconfig.js:33:71
at MergeMapSubscriber.project (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modules@angular-devkitschematicssrcrulescall.js:75:24)
at MergeMapSubscriber._tryNext (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:67:27)
at MergeMapSubscriber._next (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:57:18)
at MergeMapSubscriber.Subscriber.next (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalSubscriber.js:66:18)
at Observable._subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalutilsubscribeToArray.js:5:20)
at Observable._trySubscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:44:25)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:30:22)
at MergeMapOperator.call (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:37:23)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:25:31)
at MapOperator.call (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmap.js:32:23)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:25:31)
at Object.innerSubscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalinnerSubscribe.js:102:23)
at MergeMapSubscriber._innerSub (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:80:50)
[error] Error: Failed to parse "tsconfig.json" as JSON AST Object. PropertyNameExpected at location: 571.
at JSONFile.get JsonAst [as JsonAst] (C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularutilityjson-file.js:33:19)
at JSONFile.get (C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularutilityjson-file.js:41:61)
at C:UsersF11KDocumentsserverangular-clientnode_modules@schematicsangularmigrationsupdate-10remove-solution-style-tsconfig.js:33:71
at MergeMapSubscriber.project (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modules@angular-devkitschematicssrcrulescall.js:75:24)
at MergeMapSubscriber._tryNext (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:67:27)
at MergeMapSubscriber._next (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:57:18)
at MergeMapSubscriber.Subscriber.next (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalSubscriber.js:66:18)
at Observable._subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalutilsubscribeToArray.js:5:20)
at Observable._trySubscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:44:25)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:30:22)
at MergeMapOperator.call (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:37:23)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:25:31)
at MapOperator.call (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmap.js:32:23)
at Observable.subscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalObservable.js:25:31)
at Object.innerSubscribe (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternalinnerSubscribe.js:102:23)
at MergeMapSubscriber._innerSub (C:UsersF11KAppDataLocalTempangular-cli-packages-dD436hnode_modules@angularclinode_modulesrxjsinternaloperatorsmergeMap.js:80:50)

我查看了tsconfig.json并手动调整:"module": "esnext"=>"module": "es2020",但它不起作用。

日志让我困惑,因为它并没有把错误发生的地方告诉我,你能帮忙吗?非常感谢。

tsconfig.json:的内容

{
"compileOnSave": false,
"compilerOptions": {
"downlevelIteration": true,
"incremental": true,
"tsBuildInfoFile": ".tsbuildinfo",
"module": "es2020",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types",
"tests"
],
"lib": [
"es2018",
"dom"
],
"baseUrl": "src",
}
}

删除不必要的"quot;对我有效。在你的例子中,这个问题可以通过删除"在";baseUrl":"src";

角度"ng更新";有一个集成的JSON linter,如果你有一个带有逗号或奇怪格式的JSON,它会抛出一个错误。您可以使用@hereticmonkey提供的jsonlint.com,并首先修复您的JSON文件。

PS:我试过--force,-migrate,但什么都没用,我只是在"lib"数组的末尾有一个逗号{ "lib": [ "es2017", "dom" ], }

相关内容

最新更新