0

我正在使用最新的 angular / quickstart 项目,它使用 systemjs-angular-loader.js 来加载应用程序相关的 html 模板(不需要 moduleId 属性)。

该项目在开发/测试中运行良好(使用“npm start”服务页面)。但是,当使用 gulp 构建生产时,项目将恢复为在根文件夹(而不是应用程序相关文件夹)中查找 html 模板。

在生产中使用/构建“systemjs-angular-loader.js”是否需要任何特殊步骤?在更新到我遵循的 systemjs-angular-loader.js 之后,我能找到的对 system-angular-loader.js 的唯一引用是404s ,但这并没有帮助。

为简洁起见,我没有包含我的 gulpfile.js,但我使用的是 gulp-typescript 和 systemjs-builder(以及其他)。

4

1 回答 1

0

这可能不是您的情况的解决方案,但是对于在运行 karma 时遇到相同问题的其他人,您需要更新到最新的 systemjs-angular-loader.js。

最近进行了一项更改以修复未加载的外部模板:链接问题

要使此修复程序正常工作,请确保模板文件与引用它的组件位于同一文件夹中,并且您具有以下形式的模板 url

模板网址:'./myComponent.component.html'

这是因为 systemjs-angular-loader 会检查 templateUrl 中的点

  if (url.startsWith('.')) {
    resolvedUrl = basePath + url.substr(1);
  }
于 2017-07-12T03:46:37.473 回答