我需要在我的index.html页面中插入代码段,只有在Grunt livereload运行时才会这样。基本的想法是运行一个假的HTTP服务器(只需几行sinonjs就可以轻松实现),但只有在我使用Grunt处于开发模式时才会这样做。
我知道这是可行的,因为Grunt livereload会自己在HTML页面底部插入一个片段,问题是如何以与livereload任务相同的方式插入我自己的代码片段?
非常感谢,
大卫。
答案 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以更好地了解正在发生的事情。