我正在用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

09-25 18:20
查看更多