Ok, vì vậy tôi đã tạo một blog bằng cách sử dụng Jekyll và bạn có thể xác định các biến trong một tệp _config.yml
có thể truy cập được trong tất cả các mẫu/bố cục. Tôi hiện đang sử dụng Node.JS/Express với EJS mẫu và ejs-locals (ví partials/layouts. Tôi đang tìm kiếm để làm điều gì đó tương tự như các biến toàn cầu như site.title
được tìm thấy trong _config.yml
nếu có ai quen thuộc với Jekyll. Tôi có các biến như tiêu đề của trang web , (chứ không phải là tiêu đề trang), tên tác giả/công ty, trong đó giữ nguyên trên tất cả các trang của tôi.Làm thế nào để tạo các biến toàn cầu có thể truy cập trong tất cả các khung nhìn bằng Express/Node.JS?
Dưới đây là một ví dụ về những gì tôi hiện đang làm .:
exports.index = function(req, res){
res.render('index', {
siteTitle: 'My Website Title',
pageTitle: 'The Root Splash Page',
author: 'Cory Gross',
description: 'My app description',
indexSpecificData: someData
});
};
exports.home = function (req, res) {
res.render('home', {
siteTitle: 'My Website Title',
pageTitle: 'The Home Page',
author: 'Cory Gross',
description: 'My app description',
homeSpecificData: someOtherData
});
};
tôi muốn có thể xác định các biến như tiêu đề, mô tả, tác giả của trang web của tôi ở một nơi và có thể truy cập chúng le trong bố trí/mẫu của tôi thông qua EJS mà không cần phải chuyển chúng như là các tùy chọn cho mỗi cuộc gọi đến res.render
. Có cách nào để làm điều này và vẫn cho phép tôi vượt qua các biến khác cụ thể cho từng trang không?
app.locals có ý nghĩa hơn những gì tôi đề xuất. Nó có một bắt mặc dù, bạn không thể truy cập vào người dân địa phương trong middleware của bạn. Trong trường hợp này nó có thể không quan trọng nhưng đó là một trong những gotchas mà bạn đôi khi chạy vào. – Pickels
Bueno! Cảm ơn bạn đã làm rõ các tài liệu không rõ ràng! –
Bạn cũng có thể xác định cấu hình trong tệp js hoặc json và chỉ cần yêu cầu() ở mọi nơi bạn cần. Tệp sẽ chỉ tải một lần trong ứng dụng và mọi mô-đun yêu cầu nó sẽ truy cập vào các giá trị được xác định. Xem các câu trả lời khác nhau tại http://stackoverflow.com/questions/5869216/how-to-store-node-js-deployment-settings-configuration-files –