2016-11-04 3 views
1

Я пишу обычный используемый компонент в модуле npm, и я не знаю, что является лучшим способом обратиться к templateUrl, он работает, но Я не хочу включать node_modules в templateUrl,, потому что node_module directcotry можно переименовать.Компонент Angular2 ComponentUrl в пакете npm

Есть ли другой способ его использования?

Например: "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 для загрузки модулей.

ответ

1

Шаблоны не загружены системой SystemJS, поэтому вы не можете использовать их сопоставление.

Обратите внимание, что вы можете использовать относительные пути, например ../BootstrapAlert/BootstrapAlert.html, а также есть шаблоны для некоторых инструментов построения, таких как для gulp.

+1

Если вы планируете опубликовать компонент, встраивание шаблона - это путь. У пользователей Webpack/Angular-cli были проблемы с модулями, которые я опубликовал, и в них были относительные пути к шаблонам. – JayChase

 Смежные вопросы

  • Нет связанных вопросов^_^