2015-10-13 48 views
1

我在我的应用中使用了ng-templates和usemin,我想将我的角模板写入单独的文件,所以我创建了一个usemin块引用给它我.html文件,像这样:grunt-angular-templates将模板写入单独的文件

<!-- build:js(.) scripts/templates.js --> 
<!-- endbuild --> 

我配置了这些选项ngTemplates任务:

ngtemplates: { 
    dist: { 
    cwd: '<%= yeoman.app %>', 
    src: ['**/*.html'], 
    dest: '.tmp/templateCache.js', 
    options: { 
     module: 'myTemplateModule', 
     htmlmin: '<%= htmlmin.dist.options %>', 
     usemin: 'scripts/templates.js' 
    }, 
    } 
} 

但我只是想通了,不会创建scripts/templates.js文件,可能是因为HTML构建块是空的,所以模板不会被写入十进入文件。

任何关于如何使这项工作的建议将是很好的。

回答

1

按照什么顺序调用任务?我发现,如果你的useminPrepare任务之后把它usemin选项ngtemplate只会工作,但任何usemin生成的任务已被调用。即你的任务应该是这个样子:

grunt.registerTask('build', [ 
    //preliminary tasks... 

    'useminPrepare' 
    //unrelated tasks... 
    'ngtemplates' 
    //unrelated tasks... 
    'concat:generated' 
    //etc. 

]) 

这样做是产生结果的模板文件,但usemin不会把它插入到最终的HTML,除非你有块中的至少一个文件。我建议将包含模板模块声明的文件放入块参考中,如下所示:

<!-- build:js(.) scripts/templates.js --> 
<script src="path/to/module/templates.module.js"/> 
<!-- endbuild --> 
相关问题