用NextJS和next-i18next固定-res.header不是函数

时间:2020-05-15 05:54:05

标签: node.js next.js i18next fastify

我正在尝试实现NextJS, Fastify and next-i18next,但是当我尝试在浏览器中访问路由时遇到此错误:

TypeError:res.header不是函数

app文件夹\ node_modules \ next-i18next \ dist \ commonjs \ utils \ redirect-without-cache.js:11 res.header('Cache-Control','private,no-cache,no-store,必须重新验证');

这是一个server.js文件,从这里我同时启动Fastify和NextJS:

const fastify = require('fastify')({ logger: { level: 'error' } })
const Next = require('next')
const nextI18NextMiddleware = require('next-i18next/middleware').default;

const nextI18next = require('./config/next-i18next');

fastify.use(nextI18NextMiddleware(nextI18next));

fastify.register((fastify, opts, next) => {

    const app = Next({ dev })


    const handle = app.getRequestHandler();

    app.prepare().then(() => {

           fastify.get('/api/places', (req, reply) => {
             return reply.send({hello: 90})
           })

           fastify.all('/*', (req, reply) => {
             return handle(req.req, reply.res).then(() => {
                 reply.sent = true
             })
          })
          next();

   }).catch(err => next(err));

})

...听

我猜为什么会出现这个错误。这行-fastify.use(nextI18NextMiddleware(nextI18next));,但是在我放置它的地方并不总是相同的错误。我已经阅读到在新版本的Fastify中,快速中间件将是一个插件,但是我正在使用"fastify": "^2.14.1"

0 个答案:

没有答案