Express static靜態路由


 

 

Express框架在使用app.use中傳入express.static設置靜態路由時,這個文件夾下的所有文件夾和文件都會變成路由文件,也就是說當在URL輸入該路徑時,會直接捕捉到該請求。

這時候,下面的app.get請求捕捉到的將會失效。

eg:

這樣一個結構:

 

var express = require("express");

var app = express();
var router = require("./controller");
//設置模版引擎
app.set("view engine","ejs");

//路由中間件
//靜態頁面
app.use(express.static("./public"));
//get/的時候,上層函數回調的時候傳入req,res
//首頁
app.get("/",router.showIndex);
app.get("/admin",function (req,res) {
    res.send("admin");
});
app.listen(3000);

這時候訪問:http://localhost:3000/admin/

得到的是

static靜態路由下的文件夾路由。

 

如果想解決這個問題,我們只需要在app.use,第一個參數傳入一個標識字符串即可,eg:

var express = require("express");

var app = express();
var router = require("./controller");
//設置模版引擎
app.set("view engine","ejs");

//路由中間件
//靜態頁面
app.use("/static",express.static("./public"));
//get/的時候,上層函數回調的時候傳入req,res
//首頁
app.get("/",router.showIndex);
app.get("/admin",function (req,res) {
    res.send("admin");
});
app.listen(3000);

結果:

得到了我們要的動態admin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM