Tôi muốn chia ứng dụng Node thành nhiều tệp riêng biệt để làm cho mô đun trở nên kiểu mô-đun hơn và dễ bảo trì hơn.Có một Node.js tương đương với PHP bao gồm, do đó mã bao gồm có quyền truy cập vào các biến của tệp gốc không?
Nhưng vì không có cách nào để 'bao gồm' tệp trực tiếp vào tệp được phân tích cú pháp hiện tại như trong các ngôn ngữ khác như PHP, 'mô-đun' hoặc 'tệp riêng' không tự động truy cập vào các biến được xác định trong tập lệnh rằng 'đòi hỏi' chúng.
Làm thế nào tôi có thể làm điều này?
Tôi đã suy nghĩ về làm điều gì đó như thế này trong các tập tin riêng của tôi:
module.exports = function(stuff) {
//I now have access to 'stuff'.
}
Nhưng nó hơi cồng kềnh.
Tôi chắc chắn ai đó đã giải quyết vấn đề này trước tôi ... bạn đề xuất gì?
đọc các tài liệu: http://nodejs.org/docs/v0.5.5/api/modules.html Sử dụng đối tượng 'exports' trong một mô-đun cho phép bạn tạo một số vari nhất định ables hoặc chức năng công khai trong khi các biến khác vẫn là riêng tư. Nó khá là đẹp. –
"của tôi 'mô-đun' hoặc 'tệp riêng biệt' không tự động nhận quyền truy cập vào các biến được xác định trong tập lệnh 'yêu cầu' chúng" - điều đó có làm cho mã của bạn * khó hơn * để duy trì không? Ý tưởng của mô-đun require.js là chúng cung cấp chức năng được sử dụng bởi các tập lệnh khác; nếu họ muốn truy cập vào dữ liệu/phương thức công khai của các mô-đun khác, họ phải tự yêu cầu các mô-đun đó. –
Hãy xem xét mô hình 'middleware' và nhớ - module của bạn là trong thực tế chỉ là một đối tượng với danh sách các chức năng 'xuất khẩu' đã được thực hiện trong lần đầu tiên 'require'. – moka