2013-04-18 2 views
2

У Lodash и Underscore есть метод под названием mixin, который позволяет расширять библиотеки. Как вы пишете библиотеку, которая будет расширять их?Расширить lodash/подчеркивание на node.js?

Например, если вы создали файл с именем «extend_lodash.js», со следующим содержанием:

_.mixin({ 
    new_function:function(){} 
}) 

Как бы вы с ним работать над проектом? Приведенный ниже код не будет работать:

_ = require("lodash"); 
require("extend_lodash.js"); 
+0

** Как ** Безразлично» Это работает? – SLaks

+0

Очевидно, что это не работает, потому что «_» не определено внутри extend_lodash.js (выбрасывает эту ошибку), потому что node.js изолируют пространства имен. Мне нужно было бы вызвать eval (fs.readFileSync ("extend_lodash.js")), если бы я хотел получить ожидаемый эффект. – MaiaVictor

+0

Или вы можете потребовать 'lodash' в вашем файле' extend_lodash.js'? – Chad

ответ

4

как «мю слишком коротка» также предполагает, есть файл с lodash Mixin возврата lodash.

В файле "extend_lodash.js":

var _ = require('lodash'); 
_.mixin({ 
    new_function:function(){} 
}); 
module.exports = _; 

А потом в вызывающем, вы просто требуют вашего подмешать и получить lodash от:

var _ = require("extend_lodash"); 
Смежные вопросы