2013-10-01 3 views
2

В моем Node.js сценария у меня есть:Требуют глобальный масштаб в node.js

var wu = require('./wu-0.1.8.js'); 

просто играть с в.

Если это было в браузере, то я мог бы просто использовать wu всюду, например.

wu([1,2,3]).map(function(n){ return n*n; }); 

Hovever в Node.js я должен написать:

wu.wu([1,2,3]).map(function(n){ return n*n; }); 

Можно ли добавитьwu в глобальном масштабе, так что я не должен набрать wu.wu все время?

ответ

5
var wu = require('./wu-0.1.8.js').wu; 

редактировать (ответ на комментарии):

Если вам нужно использовать другие методы в require('./wu-0.1.8.js'), вы всегда можете это сделать ...

var wuModule = require('./wu-0.1.8.js'); 
var wu = wuModule.wu; 

// Now you can do 

wu([1,2,3]).map(function(n){ return n*n; }); 
wuModule.someOtherWuMethod(...); 
+0

Что делать, если было больше экспортированных функций, которые я хотел получить, скажем, 100? –

+0

вы имеете в виду, как wu.foo(), wu.bar(), в дополнение к wu.wu()? – AlexMA

+0

yes ............. –

2

Ну, я предлагаю вам не делать этого, но вы можете выполнить итерацию через свойства объекта wu и привязать их к глобальному объекту:

var _wu = require('./wu-0.1.8.js'); 
var key; 
for (key in _wu) { 
    if (_wu.hasOwnProperty(key)) { 
    global[key] = _wu[key]; 
    } 
} 
+0

Прохладный ... но так сломан! – wprl

+0

@wprl, что так сломано? – fardjad

+1

обслуживание кода :) – wprl

Смежные вопросы