2015-10-13 28 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 --> 
相關問題