Имам приложение AngularJS 2.0, написано на TypeScript, което използва SystemJS loader. Когато стартирам приложението, получавам следната грешка 404:
404 GET /node_modules/ponyfill/package.json
Сега, доколкото мога да кажа, никой модул няма зависимост от ponyfill
. Имам други приложения на AngularJS с подобни настройки, които работят добре. Но не мога да разбера каква е разликата с това приложение. Как бихте подходили към отстраняването на грешки при такъв проблем? Има ли инструменти?
P.S. Намерих инструменти, наречени SystemJS Debugger, но документацията не е много ясна.
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
и paths
на конфигурацията на SystemJS.