NextJS 9-压缩最佳实践

时间:2019-07-20 00:41:36

标签: next.js

有了使用内置api(/ pages / api)的新选项,在客户端js上实现gzip压缩的最佳做法是什么?

我只是最近才开始将应用程序转换为NextJS,因此我仍在学习,但我在灯塔报告中注意到,转换所有内容的过程中,NextJS都不会将生产中的任何内容压缩。

2 个答案:

答案 0 :(得分:2)

您可以考虑使用now来部署next.js应用程序。

它在网络/主机层透明地处理压缩,而且相当不错。 设置很简单。在此处https://zeit.co/docs/v2/network/compression进行检查。

最好,它是免费的。

我也在website上使用它,并且在灯塔速度测试中获得了相当不错的成绩。

答案 1 :(得分:0)

以一种非理想的方式回答我自己的问题,以在创可贴方法中解决此问题,因为这是一种创可贴的方法,是在根目录中创建server.js文件(自定义服务器方法)并将其粘贴...

process.env.NODE_ENV = "production";
const compression = require("compression");
const express = require('express');
const next = require('next');
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
    const server = express();
    if (!dev) {
        server.use(compression());
    }
    server.all("*", (req, res) => {
        return handle(req, res)
    });
    server.listen(port, err => {
        if (err) throw err
        console.log(`> Ready on http://localhost:${port}`)
    })
});

然后将npm start命令更改为此。...

"start": "node server.js"

此操作使用NextJS定制服务器处理程序处理所有请求(获取/发布/删除等),但始终附加压缩。