Использование systemjs-angular-loader.js в производстве - дает 404

Я использую последний проект angular / quickstart, который использует systemjs-angular-loader.js для загрузки относительных HTML-шаблонов приложений (без необходимости в свойстве moduleId).

Проект работает нормально в разработке / тестировании (используя "npm start" для обслуживания страниц). Однако при сборке для производства с использованием gulp проект возвращается к поиску HTML-шаблонов в корневой папке (а не в относительной папке приложения).

Есть ли какие-то особые шаги, необходимые для использования /build "systemjs-angular-loader.js" в производстве? Единственные ссылки, которые я могу найти на system-angular-loader.js, - это 404s после обновления на systemjs-angular-loader.js, за которыми я следовал, но это не помогло.

Я не включил свой gulpfile.js для краткости, но я использую gulp-typcript и systemjs-builder (среди прочих).

1 ответ

Это может не быть решением вашего случая, но для других людей, имеющих такую ​​же проблему при запуске кармы, вам необходимо обновить файл systemjs-angular-loader.js до последней версии.

Недавно было исправлено исправление внешних шаблонов, которые не загружались: ссылка и проблема

Чтобы это исправление работало, убедитесь, что файл шаблона находится в той же папке, что и компонент, на который он ссылается, и что у вас есть шаблон URL в виде

templateUrl: './myComponent.component.html'

Это потому что systemjs-angular-loader проверяет точку в templateUrl

  if (url.startsWith('.')) {
    resolvedUrl = basePath + url.substr(1);
  }
Другие вопросы по тегам