我在启动风帆应用时遇到了来自angular2模块的错误:
[0] error: SyntaxError: /node_modules/angular2/ts/package.json: Unexpected token <
[0] at Object.parse (native)
[0] at Object.Module._extensions..json (module.js:412:27)
[0] at Module.load (module.js:343:32)
[0] at Function.Module._load (module.js:300:12)
[0] at Module.require (module.js:353:17)
[0] at require (internal/module.js:12:17)
[0] at node_modules/include-all/index.js:129:29
[0] at Array.forEach (native)
[0] at requireAll (/node_modules/include-all/index.js:44:9)
[0] at /node_modules/include-all/index.js:54:23 [SyntaxError: /node_modules/angular2/ts/package.json: Unexpected token <]
错误似乎来自这个package.json:
{
"name": "angular2",
"version": "<%= packageJson.version %>",
"description": "Angular 2 - a web framework for modern web apps",
"homepage": "<%= packageJson.homepage %>",
"bugs": "<%= packageJson.bugs %>",
"contributors": <%= JSON.stringify(packageJson.contributors) %>,
"license": "<%= packageJson.license %>",
"repository": <%= JSON.stringify(packageJson.repository) %>,
"devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %>,
"peerDependencies": {
"es6-promise": "<%= packageJson.dependencies['es6-promise'] %>",
"es6-shim": "<%= packageJson.dependencies['es6-shim'] %>",
"reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>",
"rxjs": "<%= packageJson.dependencies['rxjs'] %>",
"zone.js": "<%= packageJson.dependencies['zone.js'] %>"
}
}
通过在贡献者,devDependencies和存储库属性周围添加双引号,我不再有错误,但我想它不是更新node_modules / angular2中的文件的解决方案。
每个人都知道如何解决这个问题吗?谢谢你的帮助:)
答案 0 :(得分:0)
实际上,在启动应用程序的Angular2部分时,不应使用此文件。 <%= ... %>
元素是需要预处理的元素,因为它不是有效的JSON。
它认为应该使用此页面中描述的package.json
文件而不是https://angular.io/guide/quickstart而不是您从Angular2存储库(https://github.com/angular/angular/blob/master/modules/angular2/package.json)中提到的文件。后者适用于内部项目,不适用于基于Angular2的应用程序...