angularjs - 你如何使用 gulp-angular-templatecache 和 gulp-usemin

标签 angularjs templates gulp gulp-usemin

我想将模板添加为 JS 缓存,就像使用 use-min 添加 js 一样。问题是 use-min 不允许在开箱即用的 use-min 步骤中添加任意内容。

最佳答案

html:

<!-- build:jslib assets/js/lib.js -->
<script src="bower_components/bower-stuff/some.js"></script>
<!-- endbuild -->

<!-- build:js assets/js/app.js -->
<script src="assets/app/main.js"></script>
<script src="assets/app/config.js"></script>
<script src="assets/app/routes.js"></script>
<!-- endbuild -->

<!-- build:templateCache assets/js/templateCache.js -->
<script src="assets/app/templateCachePlaceholder.js"></script>
<!-- endbuild -->
</body>
</html>

*(占位符的原因是 use-min 似乎读取输入文件而不是输出文件来确定类型)

gulp 任务:

gulp.task('build', ['bower', 'compass'], function () {
    return gulp.src(
        [
            'frontend-src/index.html',
            'frontend-src/config/**/*',
            'frontend-src/assets/img/**/*',
            'frontend-src/assets/fonts/**/*',
            'frontend-src/assets/translations/*'
        ],
        {base: 'frontend-src/'})
        .pipe(plugins.if(isIndexHtml, plugins.usemin({
            js: [plugins.ngAnnotate(), plugins.uglify(), plugins.rev()],
            jslib: [plugins.rev()],
            css: [plugins.minifyCss(), 'concat', plugins.rev()],
            templateCache: [
                plugins.addSrc('frontend-src/assets/app/**/*.html'),
                plugins.angularTemplatecache({
                    module: ANGULARJS_MODULE_NAME,
                    root: 'assets/app/'
                }),
                'concat',
                plugins.rev()
            ]
        })))
        .pipe(gulp.dest('frontend-prod/'));

    function isIndexHtml (file) {
        return file.path.match('index\\.html$');
    }
});

关于angularjs - 你如何使用 gulp-angular-templatecache 和 gulp-usemin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30458299/

相关文章:

javascript - 将 ng-model 属性绑定(bind)到更改的对象值如何更新 ng-model

c++ - 派生类的模板特化

c++ - 模板参数推导失败,SFINAE

node.js - 使用 http-proxy-middleware 重写路径

npm - 无法让 es6 与 Gulp 一起使用

javascript - 在对象内使用方括号 : Unexpected Token

angularjs - ui.bootstrap 工具提示停止工作

javascript - 如何创建包含多个输入控件的自定义 Angular Directive(指令)?

c++ - 理解 C++ 中的模板

javascript - 任务 'sassToCss, jadeToHtml' 不在你的 gulpfile 中