我在我的应用中使用ng-templates和usemin,我想将我的角度模板写入一个单独的文件中,所以我在.html
文件中创建了一个usemin块引用,就像这样:
<!-- 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构建块是空的,因此模板不会被写入文件。
关于如何完成这项工作的任何建议都会很好。
答案 0 :(得分:1)
你以什么顺序调用任务?我发现usemin
的{{1}}选项只有在 ngtemplate
任务后调用它时才有效,但之前 已调用任何useminPrepare
生成的任务。即你的任务应该是这样的:
usemin
这样做会导致生成模板文件,但grunt.registerTask('build', [
//preliminary tasks...
'useminPrepare'
//unrelated tasks...
'ngtemplates'
//unrelated tasks...
'concat:generated'
//etc.
])
不会将其插入到最终的html中,除非块中至少有一个文件。我建议将包含模板模块声明的文件放在块引用中,如下所示:
usemin