ejs有办法压缩html吗,比如说去掉生成的空行、空格之类的?
16 回复
liteview 可以,哈哈哈 npm install liteview
看出来了liteview是你的作品,打算试一把,这个能兼容ejs不?另外json.shen@gmail.com是我的邮箱,请给个NAE码。呵呵
去掉空格神马的,直接写一个函数不就搞定了么?!?!
大概是什么样的一个函数?
var rs = fs.createReadStream('template.html');
rs.on('data',function(data){//获取html模板
compress(data.toString());
});
function compress(html){//去掉空格等的示例
html.replace(/ +/gi," ");
}
原理上就是这样了,当然需要加上对\n的替换,以及考虑可能会将字符串中的多个空格替换的问题。
@cattail2012 这正则好像去不了空行
@jsonshen 空行相当于两个回车换行,即/\r\n(\s)*\r\n/,我用php写过相关东东用到过的,js也一样吧,不过没测试~~
var rs = fs.createReadStream('template.html');
rs.on('data',function(data){//获取html模板
compress(data.toString());
});
function compress(html){//去掉空格等的示例
html.replace(/\s+/gi," ");
}
@jsonshen 没有实际测试过,只是说明一下原理而已。
哈哈,搞定 。这样来一下根本就没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();
});
正则
你这直接把数据中的空白符都去掉了
@jsonshen 这是加在哪里的?
这是什么需求,其实你可以在nginx里面开启gzip的啊
五年前的老坟被挖出来了
借鉴一下六年前的