我在angular4客户端上使用哈希定位策略,
在开发模式下,刷新有效,
但是在编译为生产模式(ng build -prod
时,刷新会中断页面-开发人员控制台显示GET <url> net::ERR_CONNECTION_REFUSED
和ERROR of ProgressEvent
。
在app.js文件的服务器端(节点+ express)上,我们有以下代码:
app.use(function(req, res, next) {
return res.render("index");
});
预先感谢
答案 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'));
});