如何配置Express以在生产中服务角度应用程序?

时间:2019-02-13 11:00:00

标签: angular express production-environment

客户端路由机制存在一个普遍问题:一旦部署,诸如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')));

...但是它仅适用于基本网址;所有其他人都被拒绝。

1 个答案:

答案 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