編集:require
の代わりにimport
ステートメントを使用してテンプレートをインポートする方法が見つかりませんでしたが、設定を簡略化できることがわかりました。AngularJS + Webpack2でテンプレートを含める最も良い方法は何ですか?
webpackの設定では、/\.html$/
の代わりにngtemplate-loader
の代わりにhtml-loader
を使用してください。コンポーネントでは、オリジナルの投稿のように、ファイルの先頭にテンプレートを入力します()。ただし、コンポーネント定義の "templateUrl"を "template"に変更してください。ウェブパックで残りの作業が行われます。
const template = require('./component.html');
class Example(){
...
}
export const component = {
bindings: {},
controller: Example,
template: template
};
オリジナルのポスト:
私はngtemplate-loaderで実用的なソリューションがあります。
const template = require('./component.html');
import ExampleService from './example.service';
class Example() {
constructor(private exampleService: ExampleService) {
}
...
}
export const component = {
bindings: {},
controller: Example,
templateUrl: template
};
をしかし、私は私の同僚がrequire
構文に反対するだろう怖いです。あなたは、私はグランツからWebpack2に私たちのアプリを移行している、そして現在のアプリはimport foo from './bar'
構文を使用していることがわかります。
また、現在のビルドのjavascriptファイルのテンプレートもインポートしません。 templateUrlでコールバックを使用して文字列を返します。
import ExampleService from './example.service';
class Example() {
constructor(private exampleService: ExampleService) {
}
...
}
export const component = {
bindings: {},
controller: Example,
templateUrl: ['constantsFactory', function(constantsFactory) {
return `${constantsFactory.path}/component.html`;
}]
};
require
なし$ templateCacheを取り込むことができWebPACKのローダはありますか?
もしそうでなければ、import
構文でTypescriptでテンプレートをインポートする方法はありますか?
これはangular2 +のですか? – Ero
いいえ、AngularJS(1.5.7、具体的には) – user2954463