目前我正在为我正在处理的项目使用静态HTML页面,它们都需要相同的CSS和JS文件。现在我不想复制脚本,而是想用GruntJS插入所有标签。
例如,如果我们有' css / style.css',那么插入
<link rel="stylesheet" href="css/style.css">
但是它不应该是硬编码的,因此它应该插入实际的文件名和路径。这有可能吗?
答案 0 :(得分:0)
一些想法:
首先,使用grunt-template设置内容处理的贡献副本:
grunt.config('copy', {
options: {
processContent: function (content, srcpath) {
return grunt.template.process(content);
}
}
});
现在,每当您将html文件复制到目的地时,任何grunt模板标记都将被适当的值替换。
假设你有一个像这样的html文件:
<html>
<head>
<%= something %>
</head>
</html>
你所需要的就是,在你的配置中的某个地方:
grunt.initConfig({
something: "<doh></doh>"
});
现在,“某事”的内容应该来自另一项任务的结果(一项可以复制所有css / js文件的任务) - 这不应该太难做。
您可能应该先播放一下,阅读文档,然后使用grunt-template,grunt-contrib-copy和创建自定义grunt任务进行一些测试 - 然后询问更具体的问题。
http://gruntjs.com/creating-tasks
https://github.com/gruntjs/grunt-contrib-copy
http://gruntjs.com/api/grunt.template
希望有所帮助。