MEAN Stack-SPA Webapp上的* refresh *

时间:2018-07-18 14:19:52

标签: node.js angular express refresh mean-stack

我在angular4客户端上使用哈希定位策略, 在开发模式下,刷新有效, 但是在编译为生产模式(ng build -prod时,刷新会中断页面​​-开发人员控制台显示GET <url> net::ERR_CONNECTION_REFUSEDERROR of ProgressEvent

在app.js文件的服务器端(节点+ express)上,我们有以下代码:

app.use(function(req, res, next) {
    return res.render("index");
});

预先感谢

2 个答案:

答案 0 :(得分:0)

尝试在定义了所有路线的位置添加以下代码。确保该路线在所有其他路线的最后/下方。

app.all('/*', function(req, res) {
    res.sendFile('index.html', { root: webRoot });
});

webRoot是服务器上定义的Angular dist目录的路径。在您的服务器上,您可以将其定义为var webRoot = _dirname + '/../../client/dist';

有关更多信息,请查看res.sendFile()的Official Express文档

答案 1 :(得分:0)

您可以添加此代码以渲染Angular应用。

app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'public/index.html'));
});