Expressjs托管具有视图的angular应用程序-can't重新加载
Expressjs host angular app with views - can't reload
所以,我有这个expressjs配置:
app.use(express.static(path.join(__dirname,"../../site")));
app.use("/src", express.static(path.join(__dirname,"../cms/src")));
app.get('/', function(req, res){
res.sendfile(site_public+'/index.html');
});
app.get("/admin/", function(req, res) {
res.sendFile(path.join(__dirname,"../cms/index.html"));
});
app.get("/admin/css/*", function(req, res) {
res.sendFile(path.join(__dirname,"../css/"+req.url.split("/admin/css")[1]));
});
app.get("/admin/*", function(req, res) {
res.sendFile(path.join(__dirname,"../cms/"+req.url.split("/admin/")[1]));
});
app.get("/:page", function(req, res) {
res.sendFile(site_public+"/"+req.params.page+".html")
});
正如您所看到的,它包含两个内容:一个site_public文件夹和一个admin文件夹。/admin
是一个angularjs应用程序,具有视图。管理路由作为链接或角度重路由工作得相对较好。悬停,如果我在/admin/dash
这样的角度路线上点击refres,我会得到404,就像最后一条管理路线一样。我该怎么解决这个问题?
我自己修复了它。对于任何可能需要的人来说,最终解决方案都是这样的。
app.use(express.static(path.join(__dirname,"../../site")));
app.use("/admin/", express.static(path.join(__dirname,"../cms")));
app.use("/admin/src", express.static(path.join(__dirname,"../cms/src")));
app.use("/admin/css", express.static(path.join(__dirname,"../css")));
app.get("/admin/*", function(req, res) {
res.sendFile(path.join(__dirname,"../cms/index.html"));
});
app.get('/', function(req, res){
res.sendfile(site_public+'/index.html');
});
app.get("/:page", function(req, res) {
res.sendFile(site_public+"/"+req.params.page+".html")
});
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid