我使用了Meteor和铁路由器,并设置了许多服务器路由来返回一些带有Node.js响应对象的HTML。
现在,我希望缩小,并启用gzip作为响应。怎么做?
这是我的路线代码:
Router.route('/', function () {
var res = this.response;
var html = "<!DOCTYPE html>\n" +
"<html>\n" +
" <head>\n" +
" </head>\n" +
" <body>\n" +
" test\n" +
" </body>\n" +
"</html>";
res.end(html);
}, { where: 'server' });这是页面结果:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
test
</body>
</html>我想要缩小的版本如下:
<!DOCTYPE html><html><head></head><body>test</body></html>我在这个URL中部署了测试项目:
您可以使用这个工具测试gzip支持。
发布于 2015-04-01 11:20:10
流星已经gzips和小型化(在生产模式)您的应用程序。
为了不引起混淆,您的主应用程序文件-- xxx.meteor.com上可用的根文件--不受此影响(包含类似于index.html的index.html文件)。
此外,这个类似于index.html的文件是包含对js & css文件的引用的原始文件。包含应用程序HTML的实际js文件也确实是gzipped文件。
其余的静态资产(css、js、映像等)都是gzipd。
在生产模式中,css和js也会缩小。
您在gzipminify.meteor.com的站点没有静态资产,也没有CSS。
另一方面,
网页是否已压缩:是的,用于http://test.meteor.com/5166d4fcc07e1605cbe979ef217942271d8badac.js
网页是否压缩:否(http://test.meteor.com)
对于使用铁路由器呈现路由的自定义服务器端,可以通过使用Router.onBeforeAction而不是app.use的中间件和您选择的压缩中间件(nodejs)来包含gzip文件。
https://stackoverflow.com/questions/29389060
复制相似问题