我在angular4客户端使用哈希定位策略,在开发模式中,刷新正在工作,但当编译到生产模式(ng build -prod
(时,刷新会中断页面——开发人员控制台显示GET <url> net::ERR_CONNECTION_REFUSED
和ERROR of ProgressEvent
。
在服务器端(node+express(的app.js文件中,我们有这样的代码:
app.use(function(req, res, next) {
return res.render("index");
});
提前感谢
尝试在定义了所有路由的地方添加以下代码。确保这是最后一条/低于所有其他路线。
app.all('/*', function(req, res) {
res.sendFile('index.html', { root: webRoot });
});
其中webRoot
是服务器上定义的Angulardist
目录的路径。在您的服务器上,您可以将其定义为var webRoot = _dirname + '/../../client/dist';
欲了解更多信息,请查看res.sendFile((的官方快递文档
您可以添加此代码来渲染Angular应用程序。
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'public/index.html'));
});