我正在为我的项目使用React Router 4,当我直接在浏览器中输入网址时{
"_id" : "item_a90a2086048057ac9",
"home" : "FH>87218379012",
"username:" : "Jon Doe2",
"Apps" : {
"game" : {
"InVals" : {
"ET" : {
"et1" : 0,
"et2" : 9,
"et3" : 96,
"et4" : 3218,
"et5" : 6,
"et6" : "65-AL",
"et7" : "265-PL",
"et8" : "4-GY"
}
},
"OutVals" : {
"ET" : 4.00
}
}
},
"PAT" : 4
}
我收到以下错误。
无法获得/发布/ 1
我在快递服务器上的代码是
var resultsArray = [74, 4....,n];
我尝试使用localhost:8000/post/1
上的app.get('/post/:id', function (req, res) {
res.sendFile('./public/index.html', {root: __dirname});
})
包来允许哈希爆炸,但它似乎也不正常。
如何修复此错误?并允许在我的项目中直接链接。感谢
答案 0 :(得分:1)
对于由具有路由处理客户端的节点提供服务的应用程序,就像React和React-router一样,您需要为每个请求提供index.html。
将此信息(app.get
)放在明文应用中的任何API路由下方。
var path = require('path');
app.get('/*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
这将确保您服务器上的非API调用请求为您的用户提供index.html。一旦客户端拥有index.html,内部路由将由React-routing处理。