タイトルとしてもできるかと思います。TypeScriptを使用してHTMLファイルを文字列としてインポートすることはできますか?
たとえば、Angular2プロジェクトで作業しており、httpリクエストが少なくなるようにテンプレートを外部URLとして設定しないようにしたいとします。それでも、十分に大きいか、デザイナーが開発者とは異なるファイルで作業してほしいので、コンポーネント内にすべてのHTMLを記述したくありません。だからここ
は最初のソリューションです:template.html.ts はこのような何かに.TSするファイルを変換
ファイル:
export const htmlTemplate = `
<h1>My Html</h1>
`;
その後、私のコンポーネントに私ができますこれを次のようにインポートします。
import { Component } from 'angular2/core';
import {RouteParams, RouterLink} from 'angular2/router';
import {htmlTemplate} from './template.html';
@Component({
selector: 'home',
directives: [RouterLink],
template: htmlTemplate,
})
あなたはIDE HTMLインテリジェンスを失っているので、これはHTMLテンプレートを作成するデザイナー/ devにとっては悪いことです。私が達成しようとしている何
はの.htmlファイルやない.TSをインポートする方法を見つけることです。
したがって、.htmlファイルをTypeScriptの文字列としてインポートすることは可能ですか?
import "template.html";
@Component({
selector: 'home',
directives: [RouterLink],
template: require("template.html"),
})
これはあなたのコンポーネントの依存関係リストに「template.html」が含まれますと、あなたはあなたのビルダー(実際には、それが持つ、より理にかなっているとの同梱することができます:
は
私はこれを達成するために何をやりましたかさwebpackで 'require'を使ってhtmlファイルを作成し、' template:require( 'component.html') 'を使って文字列としてインポートします。 –
はい、それはアプローチです。あなたの追加にも感謝しますが、私もそれと一緒にプレイし、私はあなたに私の考えを知らせます。 –
あなたが探している解決策ではありませんが、gulp-angular-embed-templatesを使用して、ビルド時にjsクラスにhtmlテンプレートを埋め込みます。 – brando