node.js - MEAN Stack - SPA webapp 上的 *refresh*
问题描述
我在我的 angular4 客户端使用哈希定位策略,在开发模式下刷新正在工作,但是当编译到生产模式(ng build -prod
)时,刷新会破坏页面 - 开发人员控制台显示GET <url> net::ERR_CONNECTION_REFUSED
和ERROR of ProgressEvent
.
在 app.js 文件中的服务器端(node + express),我们有以下代码:
app.use(function(req, res, next) {
return res.render("index");
});
提前致谢
解决方案
尝试在定义了所有路由的位置添加以下代码。确保这是最后/低于所有其他路线。
app.all('/*', function(req, res) {
res.sendFile('index.html', { root: webRoot });
});
服务器上定义的 Angular 目录webRoot
的路径在哪里。dist
在您的服务器上,您可以将其定义为var webRoot = _dirname + '/../../client/dist';
有关更多说明,请查看res.sendFile()的官方 Express 文档
推荐阅读
- r - Drawing a bar chart using bin sizes
- javascript - using Context Api how to set initial state
- jenkins - Jenkins Blue Ocean 插件无法连接到 GitHub
- regex - RegEx to find count of special characters in String
- node.js - Modify pdf file with right font data for parse text
- ruby-on-rails - Bundler:有没有办法设置版本?
- typescript - 打字稿继承扩展属性
- python - 无法查明 GCP Composer (Airflow) DAG 任务失败的问题
- vue.js - Vue 可拖动以跟随 v-chip-group 选择
- javascript - 为什么在“npm”注册表中找不到所需的包