我当前的Grunt实现使用Grunt includes将我的所有页面包装在页眉/页脚代码中。我正在寻找的是一种在页眉和页脚中添加动态位以加载CSS/JS以及在body标记中添加类的方法,但我需要它们基于在grunt-includs任务中请求include的文件的名称。
如果我可以简单地获得grunt includes,将请求文件的名称传递到包含的文件中,我就可以完成我需要的一切。在阅读grunt includes的文档时,我可以看到似乎有某种模板用于{{fileName}}和{{file}},但我似乎无法使这些模板发挥作用。
只是澄清一下,我想要的是,当通过grunt运行grunt-includs时,如果一个名为myFile.html
的文件具有行include "global/myHeader.html"
、myFile
或myFile.html
,则在连接到myFile.html
时会将其传递到global/myHeader.html
中。
有人能给我指一下这里的正确方向吗?我已经转了两天轮子了。
我目前正在使用的包含功能如下:
includes: {
files: {
src: ['sources/*.html'], // Source files
dest: 'app', // Destination directory
flatten: true,
cwd: '.',
options: {
silent: true,
}
}
},
模板设置位于files对象的options对象中。这是唯一可以使用{{file}}
和{{fileName}}
的地方。这意味着,如果你不想把这些"传递"到请求的文件中,你要么必须把整个字符串放在模板中(不推荐),要么只把文件名传递到一个隐藏的标签中,并使用JavaScript来处理你需要的任何动态。
我建议使用grunt模板:http://gruntjs.com/api/grunt.template