微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用node.js服务静态gzip文件

我不想使用一个图书馆,因为头顶上的飞行。

该网站有一些dynamic组件,在node.js中实现。

我有一些静态js和css文件以及他们的gzip对应。 我只想将gzip版本提供给支持它的浏览器。

我考虑在express中使用静态中间件来提供静态文件,以及一些URL重写中间件来有条件地提供gzip文件。 但是,我找不到任何有条件的重写模块。

使用Express和Nginx反向代理的Vue路由器历史logging模式

GoogleredirectURI不允许使用片段url的解决方法

在express上使用ngix和ssl实现的反向代理失败

使用Express服务网页时,使用`path.join`节点JS TypeError

Node.js Express静态资产的区分大小写

我不能相信没有人这样做,或者需要这么多的工作。 我错过了什么?

另一方面,通过node.js提供静态文件太昂贵了吗? 另一方面,将Apache用于静态文件并在后面运行node.js似乎也不好。 什么是AWS EC2托pipe最不笨的configuration?

Amazon VPC中实例的AWS通信

Windows Nginx + nodejs API,proxy_connect_timeout已到达

Nginx上的NodeJs不能在url中没有端口号的情况下工作

如何在一个VPS上托pipe3个不同域的3个节点的应用程序?

代理Nginx Express – 404静态文件

如果你想为你的客户提供最好的性能,只需使用CDN。 它会照顾你和其他许多东西。 如果您需要帮助,可以使用express-cdn模块。

如果你因为某些原因不喜欢CDN,最好的选择就是使用Nginx。 我在你的问题上看到它的标签,但你没有提到任何事情。 Nginx比node.js快得多 对于Nginx,你可以检查它是gzip-static模块 。

如果你仍然想使用node.js,那么connect-gzip-static是你最好的选择。 它和Nginx-gzip-static模块几乎一样。 如果所请求文件的.gz文件对应,则将使用该文件,否则将回退到正常的连接静态模块。

不要忘了事先编译文件,如果你使用gulp,那么你也可以使用gulp-gzip 。 如果不是只使用gzip命令。

还有gzippo ,它在飞行中gzip,但它也缓存在内存中的结果。 所以它只会被gzip一次。

代码正在使用Express 4

app.get('*.js',function(req,res,next) { req.url = req.url + '.gz'; res.set('content-encoding','gzip'); res.set('Content-Type','text/javascript'); next(); }); app.get('*.css','text/css'); next(); });

确保你正在为压缩文件设置正确的内容类型 – mime-types reference – 像这样:

res.set('Content-Type','text/css');

或者它不会工作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐