2014-09-01 30 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'); 
});