使用Grunt插入代码段

时间:2013-07-23 14:13:48

标签: javascript gruntjs code-snippets

我需要在我的index.html页面中插入代码段,只有在Grunt livereload运行时才会这样。基本的想法是运行一个假的HTTP服务器(只需几行sinonjs就可以轻松实现),但只有在我使用Grunt处于开发模式时才会这样做。

我知道这是可行的,因为Grunt livereload会自己在HTML页面底部插入一个片段,问题是如何以与livereload任务相同的方式插入我自己的代码片段?

非常感谢,

大卫。

1 个答案:

答案 0 :(得分:0)

根据您希望注入HTML的位置,您可以执行以下操作(完全未经测试):

var livereloadUtils = require('grunt-contrib-livereload/lib/utils');
var oldGetSnippet = livereloadUtils.getSnippet;
livereloadUtils.getSnippet = function() {
    var snippet = oldGetSnippet();
    // add your snippet stuff to snippet. So either:
    // snippet += '<p>your html</p>'; //or
    // snippet = '<p>your html</p>' + snippet;
    return snippet;
};
var lrSnippet = livereloadUtils.livereloadSnippet;

这只会在</body>之后注入。查看libs/utils.js以更好地了解正在发生的事情。