如何在使用 Angular 构建项目时修复 JSON 错误

mr.*_*ris 2 javascript frontend build angular

当我将--prod属性附加到此命令时,在使用 Angular 的构建过程中出现错误:

$ ng build --prod

Date: 2018-10-02T12:56:57.694Z
Hash: beece2bded30e9ac9066
Time: 26183ms
chunk {0} runtime.ec2944dd8b20ec099bf3.js (runtime) 1.44 kB [entry] [rendered]
chunk {1} main.3ffdf05fa00462e0d2af.js (main) 285 kB [initial] [rendered]
chunk {2} polyfills.7f205259d3713dc1e37e.js (polyfills) 38.4 kB [initial] [rendered]
chunk {3} styles.e206debd23d3c81eccf6.css (styles) 166 bytes [initial] [rendered]
Unexpected token : in JSON at position 541
SyntaxError: Unexpected token : in JSON at position 541
    at JSON.parse (<anonymous>)
    at MapSubscriber.host.exists.pipe.operators_1.map.content [as project] (/home/ubuntu/workspace/test/todo-app/node_modules/@angular-devkit/build-angular/src/angular-cli-files/utilities/service-worker/index.js:96:41)
    at MapSubscriber._next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/operators/map.js:49:35)
    at MapSubscriber.Subscriber.next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/Subscriber.js:67:18)
    at SwitchMapSubscriber.notifyNext (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/operators/switchMap.js:86:26)
    at InnerSubscriber._next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/InnerSubscriber.js:28:21)
    at InnerSubscriber.Subscriber.next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/Subscriber.js:67:18)
    at Observable.rxjs_1.Observable.obs [as _subscribe] (/home/ubuntu/workspace/test/todo-app/node_modules/@angular-devkit/core/node/host.js:172:21)
    at Observable._trySubscribe (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/Observable.js:44:25)
    at Observable.subscribe (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/Observable.js:30:22)
    at /home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/util/subscribeTo.js:22:31
    at Object.subscribeToResult (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/util/subscribeToResult.js:10:45)
    at SwitchMapSubscriber._innerSub (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    at SwitchMapSubscriber._next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/operators/switchMap.js:55:14)
    at SwitchMapSubscriber.Subscriber.next (/home/ubuntu/workspace/test/todo-app/node_modules/rxjs/internal/Subscriber.js:67:18)
    at Observable.rxjs_1.Observable.obs [as _subscribe] (/home/ubuntu/workspace/test/todo-app/node_modules/@angular-devkit/core/node/host.js:241:21)
Run Code Online (Sandbox Code Playgroud)

我不知道出了什么问题以及如何解决此错误。

在我的情况下,现在ng build没有--prod属性的命令也没有问题。

此外add @angular/pwa,如本教程所示,我已通过此命令将 PWA 内容添加到我的应用程序中。

如何修复此错误?任何建议将被认真考虑。

小智 5

我今天在这个错误上挣扎了一个小时。

我的问题是在ngsw-config.json。我的文件不是有效的 json。

错误堆栈跟踪没有明确指向文件。
确保此文件对jsonlint.com有效,如 tenor528 所指。