2016-03-23 30 views
0

yeniden edemez Yani, bu yapılandırma expressjs vardır:Expressjs konak manzaralı açısal uygulaması

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") 
}); 

Gördüğünüz gibi, bu 2 şey barındıran: Bir site_public klasör ve bir yönetici klasörü. /admin, görünümleri olan bir angularjs uygulamasıdır. Yönetici yolları, bağlantılar veya açısal yönlendirmeler gibi nispeten iyi çalışır. Hovewer, eğer açısal bir rota olan /admin/dash gibi bir şey hakkında rötuşlar yaparsam, son yönetici rotası gibi bir 404 alırdım. Bunu nasıl düzeltebilirim?

+2

ne dağınıklık :(plesae – Yerken

+0

evet, evet ama bu sorun değil. 'Admin/ı yenilemek olamaz bir görünüm rotayı dash'is varlıkların tümü sunum için ekspres statik faydalanmak. –

+0

Kodunuz en az bir anlam ifade etmedikçe kimse cevap vermeyecek.İlk hatırlamanız gereken ilk şey, Angular'ın SPA çerçevesi olmasıdır, bu nedenle umursadığı tek sunucu .html dosyası index.html, ve bu tek dosyadır. İhtiyacınız olan bir şey var: "sendFile" 'e ihtiyacınız var. – Yerken

cevap

0

Kendim düzeltdim. Son çözüm, buna ihtiyaç duyan herkes için böyle görünüyor.

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") 
});