mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
456d8e7b8c
### What? - Upgrade development dependency **Express** to the latest version (5.1.0). - Replace direct assignment of `apiReq.query` with `Object.defineProperty` to ensure the property is writable, enumerable, and configurable. ### Why? - To use the most up-to-date and supported version of Express instead of a legacy one. - To fix [expressjs/express#6633](https://github.com/expressjs/express/issues/6633), where Express 5.x defines `req.query` as a read-only getter, preventing Next.js from overriding it directly. ### How? - Update the Express version in `package.json` and run `pnpm install` to apply the change. - Replace: ```js apiReq.query = query; ``` With ```js Object.defineProperty(apiReq, 'query', { value: { ...query }, writable: true, enumerable: true, configurable: true, }); ``` --------- Co-authored-by: Alessandro Grosselle <alessandro.grosselle@adevinta.com> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: Sebastian Beltran <bjohansebas@gmail.com> Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
36 lines
754 B
JavaScript
36 lines
754 B
JavaScript
const next = require('next')
|
|
const express = require('express')
|
|
|
|
const getPort = require('get-port')
|
|
|
|
async function main() {
|
|
const dev = process.env.NEXT_TEST_MODE === 'dev'
|
|
process.env.NODE_ENV = dev ? 'development' : 'production'
|
|
|
|
const port = await getPort()
|
|
const app = next({ dev })
|
|
const handleNextRequest = app.getRequestHandler()
|
|
|
|
await app.prepare()
|
|
|
|
const server = express()
|
|
|
|
server.all('/:path', (req, res) => {
|
|
handleNextRequest(req, res)
|
|
})
|
|
|
|
server.listen(port, (err) => {
|
|
if (err) {
|
|
throw err
|
|
}
|
|
|
|
console.log(`- Local: http://localhost:${port}`)
|
|
console.log(`- Next mode: ${dev ? 'development' : process.env.NODE_ENV}`)
|
|
})
|
|
}
|
|
|
|
main().catch((err) => {
|
|
console.error(err)
|
|
process.exit(1)
|
|
})
|