我正在尝试在同一台服务器上提供我内置的react app + api。
我试过这个代码:
const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.get('/ping', function (req, res) {
return res.send('pong');
});
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(process.env.PORT || 8080);
但是,无论我在浏览器中使用的是什么网址,它都可以提供index.html taht内部' build'文件夹(我的反应应用程序)。 localhost:8080 / ping服务于index.html和非'。
我的代码有什么问题?
谢谢,
答案 0 :(得分:1)
Serve static files and app.get conflict using Express.js
将index.html文件重命名为其他内容。就这么简单
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
if(req.session){
console.log(req.session);
}
console.log('ok');
res.sendfile(new_index_file);
});