如何使用grunt任务生成html中的文件列表?

时间:2014-05-01 04:41:46

标签: gruntjs

我正在使用自耕农,咕噜咕噜和棱角分明,并且是咕噜咕噜的新手。

我有一些内容生成产生类似这样的东西,已经复制到dist文件夹。

/dist/whatever/x/a.html
/dist/whatever/y/b.html
/dist/whatever/x/c.html

我想使用grunt任务创建另一个html文件:

/dist/whatever/index.html

其中包含:

...
<a href="x/a.html">x</x>
<a href="y/b.html">x</x>
<a href="x/c.html">x</x>
...

这个html文件可以作为模板存在于我的/ app文件夹中,并且可以替换一些令牌。

是否存在执行此类操作的现有模块(查找与模式匹配的文件并将其写入现有内容)?


基于Matt评论的解决方案使用grunt-include-source:

Gruntfile.js:

includeSource: {
  options: {
    basePath: 'dist/whatever',
    baseUrl: '',
    templates: {
      html: {
        link: '<li><a href="{filePath}">{filePath}</a></li>'
      }
    }
  },
  whateverIndex: {
    files: {
      'dist/whatever/index.html': 'app/whatever/index.template.html'
    }
  }
},

应用/不管/ index.template.html

<ul>
<!-- include: "type": "link", "files": "*/index.html" -->
</ul>

1 个答案:

答案 0 :(得分:4)

grunt-include-source可用于在HTML中构建引用目录中的css,js和HTML文件或与glob匹配的部分。

docs on github可以很好地概述任务的配置和工作方式。

此外,the answer对此另一个问题提供了更多信息。