我有简单的server.js文件,如下所示:
const express = require('express');
const app = express();
app.set('port', (process.env.PORT || 3031));
if (process.env.NODE_ENV === 'production') {
app.use(express.static('build'));
app.get('*', (req, res) => {
res.sendFile('build/index.html');
})
}
app.listen(app.get('port'), (error) => {
if (error) return console.error(error.message);
console.log(`Server started at: http://localhost:${app.get('port')}/`);
})
我希望它能在生产中重新路由到index.html的所有路径并启动服务器。目前路由位似乎不起作用,因为我收到以下错误:
服务器起始于:http://localhost:3031/ TypeError:path必须是 绝对或指定root到res.sendFile
答案 0 :(得分:0)
尝试将根目录添加到路径
res.sendFile(__dirname + '/build/index.html');
答案 1 :(得分:0)