客户端路由机制存在一个普遍问题:一旦部署,诸如host/deep/deeper/deepest/link/1
之类的所谓“深层链接”会吐出404 Not Found rahter,然后传播到index.html
并正确地转存到某个组件。
如何配置它?
我尝试过:
app.use(express.static(root)); // root folder of the project
app.use((req, res) => res.sendFile(path.join(__dirname, root,'index.html')));
...但是它仅适用于基本网址;所有其他人都被拒绝。
答案 0 :(得分:1)
app.use(express.static(root)); // root folder of the project
这意味着没有安装路径的中间件功能。对路由器的每个请求都会执行此代码
尝试使用如下外观
app.use('/', express.static(path.join(__dirname, '../root')));
app.get('/*', function(req, res) {
res.sendFile(path.join(__dirname, '../root/index.html'));
});
完整的示例在这里 https://github.com/mdshohelrana/mean-stack/blob/master/server/app.ts