Grunt-angular-templates将模板写入一个单独的文件中



我在我的应用程序中使用ng-templates和usemin,我想把我的angular模板写进一个单独的文件中,所以我在我的.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构建块是空的,所以模板没有被写入文件。

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

您调用任务的顺序是什么?我发现ngtemplateusemin选项只有在 useminPrepare任务之后调用才能工作,但是在任何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 -->

相关内容

  • 没有找到相关文章

最新更新