我有一个AngularJS 2.0应用程序是用TypeScript编写的,它使用SystemJS加载器。当我运行这个应用程序时,我会得到以下404错误:
404 GET /node_modules/ponyfill/package.json现在,据我所知,没有一个模块依赖于ponyfill。我有其他的AngularJS应用程序与类似的设置,正在正常工作。但我不知道这款应用有什么区别。您将如何处理调试这样的问题?有工具吗?
我找到了一个叫做SystemJS调试器的工具,但是文档不太清楚。
P.S.我的SystemJS配置如下:
System.config({
"defaultJSExtensions": true,
"packageConfigPaths": [
"/node_modules/*/package.json"
],
"paths": {
"main": "/main",
"angular2/*": "/angular2/*",
"rxjs/*": "/rxjs/*",
"app/*": "/app/*",
"*": "/node_modules/*"
},
"packages": {
"angular2": {
"defaultExtension": false
},
"rxjs": {
"defaultExtension": false
}
}
});编辑
我发现上述配置中的packageConfigPaths是造成问题的原因。正是它让SystemJS在运行时开始寻找package.json文件。如果我把它去掉,问题就解决了。我在任何地方都没有找到packageConfigPaths文档。任何人都知道它能做什么。我只是从一个模板中复制出来的。
编辑2
我已经将我的全部申请放在Github上,这样任何人都可以复制这个问题。存储库是https://github.com/archfirst/angular2-minimal-app。应用程序应该与签入代码一起构建得非常好。要重现此问题,只需编辑index.html和取消注释packageConfigPaths和SystemJS配置的paths属性即可。
发布于 2016-04-30 21:49:09
看起来像个错误,试着将填充重命名为多填充。
发布于 2016-05-14 05:43:41
我最近也遇到了一个类似的问题。解决方案(角RC 1)是在系统之后包括rxjs :
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.min.js"></script>
重新排列这些脚本标签后,问题就解决了。希望这能有所帮助。
https://stackoverflow.com/questions/36954970
复制相似问题