1

次のコード スニペットのように JavaScript に HTML を埋め込むことは、1 つのファイル app.js と多くのモジュールがある場合、維持できません。

app.js

app.config(['$routeProvider', function($routeProvider){
  $routeProvider.when('/first',{
    templateUrl: 'partial/first.html',
    controller: 'FirstCtrl' 
  });
}]).run(function($templateCache){
     $templateCache.put('partial/first.html', '<p>Hundred lines of Html</p>');
    });

テンプレートの代わりに templateUrl を使用するのと同じように、これらの 100 個の LoC を $templateCache.put(...) から Html ファイルに移行することは可能ですか? または、コードを制御できなくなっているため、これを達成するための別のアプローチを提案します。$templateCacheを使用してすばやく取得したいと考えています。

4

1 に答える 1

2

この種のことを行うには、 gulpなどのビルド スクリプトを使用する必要があります。angular-template-cacheと呼ばれる npm モジュールがあり、まさにあなたが望むことを行います。

var angularTemplateCache = require('gulp-angular-templatecache');

gulp.task('compile:templates', () =>
    gulp.src('/src/**/*.html')
        .pipe(angularTemplateCache('templates.js'))
        .pipe(gulp.dest('/dist'))
);

この gulp タスクは、 dirの下に for each html ファイル/dist/templates.jsを含むファイルを作成します。ビルドプロセスのこの部分を、縮小、キャッシュ無効化などとともに行うことができます。$templateCache.putsrc

于 2016-10-24T10:57:34.047 に答える