Tôi chỉ mới bắt đầu sử dụng một phiên bản mới của Express (2.5.5) mà theo mặc định tạo ra một thư mục ./routes
cùng với ./views
và ./public
Cách truy cập các biến được khai báo trong app.js chính trong các tệp tuyến đường riêng biệt trong node.js Express 2.5.5?
Bên trong các tuyến đường có một tập tin index.js
chứa:
/*
* GET home page.
*/
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
theo mặc định (sau khi chạy express
từ dòng lệnh) và đây là phần tuyến đường trong chính app.js
:
// Routes
app.get('/', routes.index);
tôi đã thiết lập một biến cho một khách hàng redis trong chính app.js
:
var redis = require('redis'),
db = redis.createClient();
và tôi đã tự hỏi làm thế nào tôi có thể truy cập vào các phương pháp của db
(và bất cứ điều gì các module khác tôi require
trong app.js
) trong các tập tin chứa trong ./routes
tôi don Không biết đây có phải là một thực hành tốt hay không, nhưng bạn có thể có các mô-đun của bạn được bao bọc bên trong một hàm 'exports.init' để lấy các cá thể được chia sẻ làm đối số. Hàm đó sẽ trả về các hàm xuất thực tế và bạn yêu cầu tệp như 'var routes = require (" ./ routes/"). Init (db);'. – pimvdb