Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NextJS部署到Vercel时抛出404_Javascript_Reactjs_Next.js_Vercel - Fatal编程技术网

Javascript NextJS部署到Vercel时抛出404

Javascript NextJS部署到Vercel时抛出404,javascript,reactjs,next.js,vercel,Javascript,Reactjs,Next.js,Vercel,我有一个自定义的express服务器,用于NextJS 当我在本地开发时,一切都很好,但当我部署到Vercel时,每当我尝试访问后端API时,我都会捕获404 出了什么问题?这是我的服务器。ts: import express from 'express'; import next from 'next'; import bodyParser from 'body-parser'; import { connectDbs } from './config/db'; import { listin

我有一个自定义的express服务器,用于NextJS

当我在本地开发时,一切都很好,但当我部署到Vercel时,每当我尝试访问后端API时,我都会捕获404

出了什么问题?这是我的
服务器。ts

import express from 'express';
import next from 'next';
import bodyParser from 'body-parser';
import { connectDbs } from './config/db';
import { listingsRouter } from './routes';

const PORT = process.env.PORT || 3003;
const dbs = ['mydb'];

const dev = process.env.NODE_DEV !== 'production';
const nextApp = next({ dev });
const handle = nextApp.getRequestHandler();

const applyMiddleware = (app) => {
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }));
};

const applyRoutes = (app) => {
    app.use('/api/listings', listingsRouter);
};

const startServer = async () => {
    await nextApp.prepare();
    const app = express();

    applyMiddleware(app);
    applyRoutes(app);

    app.get('*', (req, res) => handle(req, res));

    await connectDbs(dbs);

    app.listen(PORT, () => console.log(`App listening on port ${PORT}`));
};

startServer();


自定义服务器的Next.js文档:

无法在Vercel上部署自定义服务器,平台Next.js是为其制作的

资料来源:

即使不能部署自定义服务器,通常也不需要这样做,因为Next.js支持使用
/pages/api
目录的无服务器功能

资料来源:

另请参阅本指南,其中解释了如何将自定义Next.js服务器转换为路由:


来源:

您的代码可以正常工作。看来你需要联系Vercel支持部门。这是自定义配置。我想维塞尔找不到路线了。我认为您必须在vercel.json中配置路由。