總node.js的noobie,開始從各種教程和網站的演示代碼玩,我注意到的東西,我不明白...node.js的app.get不會被調用
即,如果我有指數.html在我的/公用文件夾中,然後
app.get("/", function (req, res) {
console.log("get /");
res.redirect("/test.html");
});
根本就不會被調用。當我重新命名的index.html到index2.html然後調用方法時,我重定向到/public/test.html
這是我有:
var io = require('socket.io'),
express = require('express'),
MemoryStore = express.session.MemoryStore,
app = express.createServer(),
sessionStore = new MemoryStore();
app.configure(function() {
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
store: sessionStore,
secret: 'secret',
key: 'express.sid'
}));
app.use(express.static(__dirname + '/public'));
});
,其餘是相當大部分來自本教程:http://www.danielbaulig.de/socket-ioexpress/
同樣的問題出現在任何其他文件中。如果我有/public/test.html,然後當我打電話
http://localhost:8201/test.html
這app.get不叫:
app.get("/test.html", app.authenticateUser, function (req, res) {
console.log("get /test.html");
res.redirect("/test2.html");
});
當我刪除的test.html然後我得到轉發到TEST2。 html ...
我試圖重定向的原因是,如果用戶沒有登錄我不希望他打開index.html,而是想轉發他到login.html,如果索引.html存在。唯一的「解決方案」是做它的客戶端吸引,我不希望index.html加載到客戶端瀏覽器只是爲了將他轉發到login.html,服務器應該,在我的看法,處理。
爲什麼你使用靜態'index.html'而不是視圖?在我看來,你只是讓自己變得更加困難。 –