我試圖構建一個使用Webpack編譯TypeScript文件及其所有導入到單個JavaScript文件的JavaScript包。如何將外部HTML文件導入到TypeScript類
這個包的主要目標是根據給定的條件向所有使用包的應用程序吐出HTML。
目前,我通過使用模板文字可以很好地工作。但是,理想情況下,我希望將標記移動到單獨的HTML模板文件中,這些文件可以通過相關的TypeScript類導入和分析。我假設處理這種情況的最佳方式是讓Webpack在構建期間將該HTML轉換爲JavaScript。
不幸的是,這個包必須是框架不可知的,並且不能利用Angular或者React或者類似的東西。
這是可能的,這是值得的努力?如果是這樣,我需要做什麼?
下面是我在做什麼
的一個實例:
main.ts
import { Header } from './app/header';
(function(){
new Header();
})();
了header.html
export class Header {
public el: any;
constructor() {
this.el = document.querySelectorAll('[data-header]')[0];
this.el.className += 'header';
this.render();
}
public render() {
this.el.innerHTML += `
<a href="#" class="navbar-brand logo">
<svg viewBox="0 0 578 84" width="578" height="84">
<use href="assets/svgs/logo-crds.svg#logo-crds"></use>
</svg>
</a>
`;
}
}
在這個例子中,我想將我們在render()
函數中看到的模板移動到它自己的header.html
文件中。
你知道怎麼用'導入'來實現嗎? – norekhov
@norekhov似乎不可能:https://stackoverflow.com/questions/36234306/how-to-import-html-fragment-using-es6-syntax-in-typescript – Ngz