簡體   English   中英

Express.js路由組織

[英]Express.js Route orgainisation

當我設置一些路線時,我通常這樣做:

app.get('/x', function(req, res) {
res.sendFile(path.join(__dirname + '/public/.../index.html'));});

問題是如果路由文件夾中包含JS或CSS,則無法托管它們。

所以我經常加

app.get('/public/.../js/index.js', function(req, res) {res.sendFile (__dirname + '/public/.../js/index.js');});
app.get('/public/.../css/style.css', function(req, res) {res.sendFile (__dirname + '/public/.../css/style.css');});

在Route下方,以使JS和CSS易於訪問。

我已經托管了表達靜態的圖書館

app.use('/lib', express.static('lib'));

但這對於Route文件夾(/public/.../js)中的JS和CSS是不可能的

  • 有沒有更好的方法來組織路徑文件夾中的文件?

您可以使用虛擬路徑,保持當前目錄結構,添加以下路由,然后可以從./public子目錄下引用所有帶有/ static前綴的靜態文件:

app.use('/static', express.static('public'))

例如,您將可以參考http://your_server/static/public/.../js/index.js 請注意,在這種情況下,/ public下的所有文件都可以通過/ static前綴訪問,因此您不應在其中擁有服務器代碼或服務器配置。

理想情況下,為清晰起見,您應該從一個根文件夾中托管所有類型為子文件夾的靜態文件,並引用這些子文件夾(例如/ static / js,/ static / css):

app.use('/static', express.static('static'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM