2014-09-01 61 views
0

我的一個的NodeJS路線的是這樣的:會話數據發送到靜態文件中的NodeJS

app.get('/test1/', function(req, res) { 
    res.redirect("index.html"); 
}); 

而只是下面是我所服務的靜態文件:

app.use(express.static(__dirname, '/public')); 
app.use(bodyParser.urlencoded({ extended: false })); 

我明白什麼第一個代碼塊,但不是第二個塊。儘管/public目錄中存在HTML文件,但依賴關係(JavaScript和CSS文件)位於與/public/相同級別的其他文件夾中。

除此之外,我設置了一個會話變量,它保存用戶的用戶名。我想發送這個用戶名到JavaScript文件,當index.html被重定向到路由代碼塊時被調用。

這可能使用JavaScript & HTML?

回答

0

瀏覽器讓您的服務器,GET /的請求時,路由的順序匹配的,所以它與/test匹配,如果不匹配,進而以第二條路線,就是express.static中間件。

第二條路徑服務於服務器中的靜態目錄。所以 express.static將匹配公共目錄中的每個文件。因此GET /index.html將會以及GET /scripts/main.js

如果您想發送會話變量,則發送用戶cookie。發送cookie可將其設置在中間件中的響應參數上。

app.use('/test1/', function(req, res) { 
    res.cookie('key', 'value'); 
    res.render('stuff'); 
});