我有一個nodejs應用程序並使用expressjs。我已經定義了我的靜態目錄,但是當我訪問它時,它不會加載。我的快遞配置爲:Expressjs不識別靜態文件
var app = express.createServer().listen(8001);
app.configure(function(){
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
app.use('/public', express.static(__dirname + '/public'));
app.use(express.cookieParser());
app.use(express.session({ secret: "appsession" }));
app.use(express.errorHandler({showStack: true, dumpExceptions: true}));
app.set('views', __dirname + '/views');
app.set('view engine', 'hbs');
});
裏面我/public
目錄我有3個文件夾,CSS,JS,和IMG。在CSS裏面我有一個style.css。當我嘗試通過http://localhost:8001/public/css/style.css直接訪問它時,我得到:Cannot GET /public/css/style.css
任何想法我可能做錯了什麼?
謝謝!
編輯:
這似乎與我怎麼有我的路線設置。我做這樣的:
var routes = require('./routes')(db);
pp.get('/', routes.index);
然後在我index.js
文件,我有:
module.exports = function(db) {
return {
index: function(req, res, next) {
res.render('index');
}
}
}
我使我的錯誤處理,但是當我使用的路由這樣,它不使用表示錯誤處理,但是如果我把它拿出來的話,它確實如此。
是的,試過了,也不管用。 – dzm 2012-04-02 20:12:38
對不起,忘了嵌套的目錄。答案已更新。 – 2012-04-02 20:31:02
靜態處理程序會遍歷子目錄。 – 2012-04-02 20:36:19