npm包中的Angular2组件templateUrl

Angular2 component templateUrl in npm package

我正在 npm 模块中编写一个常用组件,我不知道引用 templateUrl 的最佳方式是什么,它可以工作,但 我不知道想要在 templateUrl 中包含 node_modules,因为 node_module 目录可以重命名。

还有其他工作方式吗?

例如:"npm:my-commons-ts/my-commons/components/BootstrapAlert/BootstrapAlert.html"

@Component({
    selector: "bs-alert",
    templateUrl: "node_modules/my-commons-ts/my-commons/components/BootstrapAlert/BootstrapAlert.html",
})
export class BootstrapAlertComponent {

  public errors: DisplayMessage[] = [];
  public successes: DisplayMessage[] = [];
  public warnings: DisplayMessage[] = [];
  public infos: DisplayMessage[] = [];

  @Input()
  public bcn: string = null;

  ...
}

我使用systemjs加载模块。

模板不是通过 SystemJS 加载的,所以您不能使用它的映射。

请注意,您可以使用相对路径,例如 ../BootstrapAlert/BootstrapAlert.html,某些构建工具也有模板内联器,例如 gulp-angular-embed-templates 用于 gulp