HTTP 404 из unpkg при использовании SystemJS

В настоящее время я использую SystemJS для динамического импорта пользовательских модулей во время выполнения как часть системы плагинов. Я преуспел в начальном импорте, однако мой подход быстро терпит неудачу при попытке импортировать пакеты зависимостей с https://unpkg.com/.

Я загрузил простой изолированный образец в Plnkr, чтобы продемонстрировать свою проблему, в надежде, что кто-нибудь сможет помочь мне выяснить причину и последующее решение.

SystemJS.config({
  paths: {
    'npm:': 'https://unpkg.com/'
  },
  map: {
    'rxjs': 'npm:rxjs'
  }
});

SystemJS.import('rxjs')
  .then(function () {
      console.log('rxjs has been loaded');
  })
  .catch(function (error) {
      console.error(error);
  });

При запуске, если вы посмотрите на вывод консоли или трассировку сети (я также записал некоторые выходные данные на веб-страницу), вы увидите серию запросов GET на сервер unpkg для загрузки пакетов, которые, как я полагаю, требуются для rxjs (пакет, который я пытаюсь импортировать в моем примере, чтобы продемонстрировать проблему). Я попытался переназначить внутренние библиотеки, которые зависят от другого URL-адреса, который не возвращает 404, но, похоже, не имеет никакого эффекта. Я также попытался вручную просмотреть пути в выходных данных консоли, и я вижу, что unpkg действительно не может их найти. Поэтому я предполагаю, что где-то существует несоответствие с ссылками на зависимости, запущенными в SystemJS, и путями, которые предлагает unpkg.

Я новичок в SystemJS, так что это может быть просто недоразумение с моей стороны. Любая помощь будет оценена.

1 ответ

Вы можете попробовать связать его непосредственно с индексным файлом:

{ map: { 'rxjs': 'npm:rxjs/index', 'rxjs/*': 'npm:rxjs' } }

Работал для меня с вашим примером Plunkr.

Другие вопросы по тегам