使用GruntJS将CSS和JS文件嵌入到HTML中?

时间:2014-01-11 19:22:15

标签: javascript html css gruntjs

目前我正在为我正在处理的项目使用静态HTML页面,它们都需要相同的CSS和JS文件。现在我不想复制脚本,而是想用GruntJS插入所有标签。

例如,如果我们有' css / style.css',那么插入

<link rel="stylesheet" href="css/style.css">

但是它不应该是硬编码的,因此它应该插入实际的文件名和路径。这有可能吗?

1 个答案:

答案 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

希望有所帮助。