我正在尝试实现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"
。