2012-05-20 31 views
6

Mô-đun node.js của tôi quá lớn, vì vậy tôi chia thành các mô-đun nhỏ hơn (phụ).Xuất tất cả các đối tượng trong node.js

sao chép & dán tất cả các đối tượng có liên quan vào mỗi môđun con, mà bây giờ trông giống như

var SOME_CONSTANT = 10; 

function my_func() { etc... }; 

Bây giờ tôi muốn xuất tất cả mọi thứ trong mỗi submodule, en masse, mà không cần phải nói rõ ràng exports.SOME_CONSTANT = SOME_CONSTANT một triệu lần (Tôi thấy rằng cả hai đều xấu xí và dễ bị lỗi).

Cách tốt nhất để đạt được điều này là gì?

Trả lời

0
module.exports = { 
    SOME_CONSTANT_0 : SOME_CONSTANT_1 , 
    SOME_CONSTANT_1 : SOME_CONSTANT_2 , 
    SOME_CONSTANT_2 : SOME_CONSTANT_3 
} 

vậy tại sao bạn cần hằng số "triệu" này để xuất?

+0

Vì mã này trùng lặp (DRY, mời lỗi), cộng với là xấu xí. Tôi thích một giải pháp tự động mà tôi có thể sao chép và dán vào từng mô-đun con. – user124114

+0

Tôi nghĩ bạn cần một số mẹo để xây dựng lại mã của mình, ví dụ: thay thế = đến: và; đến , –

1

Tôi giả sử bạn không muốn xuất mọi biến cục bộ.

Tôi sẽ giải quyết vấn đề này trong một ngày, nhưng hiện tại tôi thường sử dụng kỹ thuật này.

var x1 = { shouldExport: true } ; 

// tạo một macro trong trình soạn thảo yêu thích của bạn để tìm kiếm và thay thế để

x1.name = value ; // instead of var name = value 

name becomes x1.name 

// phần chính của mô-đun

for (var i in x1) { exports.better_longer_name[i] = x1[i] ;} 
//or if you want to add all directly to the export scope 
for (var i in x1) { exports[i] = x1[i] ; } 
Các vấn đề liên quan