流星和铁路由器中的gzip和minimy服务器路由响应

gzip and minify server route response in meteor and iron-router

本文关键字:minimy 服务器 响应 gzip 路由 路由器 流星      更新时间:2023-09-26

我使用了Meteor和Iron路由器,并设置了许多服务器路由,以返回一些带有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中部署测试项目:

http://gzipminify.meteor.com/

您可以使用这些工具测试gzip支持。

Meteor已经对您的应用程序进行了gzip和minimies(在生产模式下)。

只是为了不引起混乱,您的主应用程序文件xxx.meteor.com上提供的根文件不受此影响(包含类似于index.HTML的HTML的文件)。

同样,这个index.htmlLIKE文件是包含对js&css文件。包含应用程序HTML的实际js文件也确实是用gzip封装的。

其余的静态资产(css、js、image等)都是gzipd。

在生产模式下,您的css&js也被缩小了。

您的网站gzipminify.meteor.com没有静态资产,也没有CSS。

另一方面

网页是否压缩:是http://test.meteor.com/5166d4fcc07e1605cbe979ef217942271d8badac.js

网页是否压缩:否(http://test.meteor.com)

对于带有iron路由器的自定义服务器端渲染路由,您可以通过包含带有Router.onBeforeAction的中间件而不是带有您选择的压缩中间件(nodejs)的app.use来gzip文件。