Как отлаживать проблемы с SystemJS?

У меня есть приложение 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.


person Naresh    schedule 30.04.2016    source источник


Ответы (2)


похоже на опечатку, попробуйте переименовать ponyfill в polyfill

person IgorL    schedule 30.04.2016
comment
Определенно не опечатка. Я просматриваю пакеты node_modules, и там есть несколько экземпляров этого слова. Также вы можете найти его в Google. - person Naresh; 01.05.2016
comment
поместите сюда package.json - person IgorL; 01.05.2016
comment
Пожалуйста, смотрите мое редактирование 2. Я сделал полный проект доступным, чтобы вы могли воспроизвести проблему. Спасибо. - person Naresh; 01.05.2016

Недавно я столкнулся с похожей проблемой. Решение (начиная с Angular RC 1) заключалось в том, чтобы включить систему rxjs ПОСЛЕ:

<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.min.js"></script>

После перестановки этих тегов сценария проблема была решена. Надеюсь это поможет.

person deepdivedylan    schedule 14.05.2016