所以,我有这个expressjs config:
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应用,带有视图。管理路由相对较好地作为链接或角度重新路由。 Hovewer,如果我要点击/admin/dash
这样一个有角度的路线,我会得到一个404,就像上一个管理路线一样。我怎么能解决这个问题?
答案 0 :(得分:0)
我自己修好了。对于可能需要此功能的人来说,最终解决方案看起来像这样。
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")
});