我正在用HTML5编写在线游戏。其中一个文件包含一个资源列表,这些资源全部位于resources/img/
文件夹中。现在,我希望根据该文件夹的内容自动生成此列表,而不是每次添加新图像时都必须手动对其进行更新。我很确定Grunt可以做到这一点,但是我不知道如何正确配置它。要让Grunt生成这样的东西我该怎么办?
resources = ['a.jpg', 'b.png', 'subfolder/c.png'];
最佳答案
ng-boilerplate做类似的事情。
它使用脚本和样式表的模板
<!-- compiled CSS --><% styles.forEach( function ( file ) { %>
<link rel="stylesheet" type="text/css" href="<%= file %>" /><% }); %>
<!-- compiled JavaScript --><% scripts.forEach( function ( file ) { %>
<script type="text/javascript" src="<%= file %>"></script><% }); %>
然后一个自定义的grunt任务,根据文件处理模板
return grunt.template.process( contents, {
data: {
scripts: jsFiles,
styles: cssFiles,
version: grunt.config( 'pkg.version' )
}
});
ng-boilerplate文件通过配置文件列出,但您也可以使用Globbing pattern甚至grunt.file API