CNode

ejs有办法压缩html吗,比如说去掉生成的空行、空格之类的?

Jjsonshen发布于14 年前最后回复9 年前16 回复11915 浏览0 收藏
查看回复

回复 (15)

F
fish#1·14 年前

liteview 可以,哈哈哈 npm install liteview

J
jsonshen#2·14 年前
引用 fishliteview 可以,哈哈哈 npm install liteview

看出来了liteview是你的作品,打算试一把,这个能兼容ejs不?另外json.shen@gmail.com是我的邮箱,请给个NAE码。呵呵

C
cattail2012#3·14 年前

去掉空格神马的,直接写一个函数不就搞定了么?!?!

C
cattail2012#5·14 年前
引用 cattail2012去掉空格神马的,直接写一个函数不就搞定了么?!?!

@jsonshen

	var rs = fs.createReadStream('template.html');
rs.on('data',function(data){//获取html模板
	compress(data.toString());
});
function compress(html){//去掉空格等的示例
	html.replace(/ +/gi," ");
}

原理上就是这样了,当然需要加上对\n的替换,以及考虑可能会将字符串中的多个空格替换的问题。

J
jsonshen#6·14 年前
S
sunshine1988#7·14 年前
引用 cattail2012去掉空格神马的,直接写一个函数不就搞定了么?!?!

@jsonshen 空行相当于两个回车换行,即/\r\n(\s)*\r\n/,我用php写过相关东东用到过的,js也一样吧,不过没测试~~

C
cattail2012#8·14 年前
引用 cattail2012去掉空格神马的,直接写一个函数不就搞定了么?!?!

@jsonshen

var rs = fs.createReadStream('template.html');
rs.on('data',function(data){//获取html模板
    compress(data.toString());
});
function compress(html){//去掉空格等的示例
    html.replace(/\s+/gi," ");
}
C
cattail2012#9·14 年前
引用 cattail2012去掉空格神马的,直接写一个函数不就搞定了么?!?!

@jsonshen 没有实际测试过,只是说明一下原理而已。

J
jsonshen#10·14 年前

哈哈,搞定 。这样来一下根本就没ejs什么事了,通吃。。。

app.use(function(req, res, next){
    var send = res.send;
    res.send = function(body){
      if('string' == typeof body)
        body = body.replace(/\n[\s]*/g,"");
      send.call(res, body);
    }   
    return next();
  }); 
H
huangyanxiong01#13·10 年前

这是什么需求,其实你可以在nginx里面开启gzip的啊

Z
zengming00#14·10 年前

五年前的老坟被挖出来了

Z
zhujunel#15·9 年前

借鉴一下六年前的

参与回复
登录后即可参与回复。登录