У меня есть приложение AngularJS 2.0, написанное на TypeScript, которое использует загрузчик SystemJS. Когда я запускаю приложение, я получаю следующую ошибку 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.