托管网站后发布请求404未找到

时间:2020-06-11 04:51:41

标签: javascript node.js

因此,我刚刚在Network Solutions托管了一个网站,当我尝试使用该网站上的联系表时,出现404错误。我知道某些配置不正确。我需要更改我的代码吗?我使用Node.js和React。

错误:POST http://www.example.com/api/contact 404(未找到)

端口80不起作用...

我的index.js文件:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const { contact } = require('./contact');

const app = express();
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cors());

if (process.env.NODE_ENV === 'production') {
    app.use(express.static('client/build'));
    const path = require('path');
    app.get('*', (req, res) => {
        res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
    });
}

app.post('/api/contact', contact);

const PORT = process.env.PORT || 3001;

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

我需要将PORT代码更改为其他代码吗?

1 个答案:

答案 0 :(得分:0)

我不知道Network Solutions的工作方式,但是问题很可能是您的端口。从节点console.log中检查出process.env.PORT是什么,以及是否在3001端口中,请确保该端口可访问且未被防火墙阻止。