我们有一个单页反应应用,我们目前正在公共端点托管,如awesomewebsite.com/app。它最初工作,但如果刷新,服务器将重定向到404页面。我们通过在主路由器下包含通配符路由来解决该问题。我们现在想把整个东西带到一个子域,但是应用相同的技巧似乎并没有成功。
在公开场合提供此作品
app.use(express.static(path.join(__dirname, 'public')));
app.use('/webapp/*',function(req,res){
res.sendFile(path.join(__dirname,'public/webapp/index.html'))
})
但这个不是
app.use(subdomain('app', express.static(path.join(__dirname, 'reactApp'))));
app.use(subdomain('app', express.Router().use('/*',function(req,res){
res.sendFile(path.join(__dirname,'reactApp/index.html'))
})));
任何人都知道为什么会发生这种情况,我们如何通过使用express-subdomain解决它?恭敬地提前致谢。
答案 0 :(得分:1)
如果你合并它们,它应该可以工作。
app.use(subdomain('app', express.Router()
.use(express.static(path.join(__dirname, 'reactApp')))
.use('/',function(req,res){
res.sendFile(path.join(__dirname, 'reactApp/index.html'))
//res.sendFile(path.join(__dirname,'public/webappbeta/index.html'))
})
));