Использование 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); }