如何通过流星正确管理下划线mixins?

时间:2015-07-06 12:03:59

标签: javascript meteor lodash

我想使用lodash和underscore.string,但在项目中也需要下划线。下划线seems to have a method called _.mixin to handle this operation

我将mixins放在我的lib/mixins.js目录中,以便首先加载它。

_.mixin(lodash);       // loads lodash
_.mixin(s.exports());  // loads underscore.string

但是,当我打开meteor shell并执行console.dir(lodash)console.dir(_)时,我希望下划线包含与lodash相同的所有方法,但事实并非如此。它似乎只是简单的下划线。

如何使用meteor管理mixins?

2 个答案:

答案 0 :(得分:0)

我没有尝试过使用lodash,但经常使用mixins。

正如您所做的那样,我也将它们放在lib/mixins.js

我的包含例如以下代码

// extended functions
function isDefined(obj) {
  return obj !== void 0;
};

// bring them into scope of underscore
_.mixin({ 'isDefined': isDefined })

这不依赖于流星而是强调。

我想,lodash不会返回一个valib对象列表。

应该是这样的:

_.mixin({ 'name': function, ... });

对于字符串我想你应该调用

_.mixin(_s.exports());

这可能是一个非常有用的来源:http://blog.falafel.com/the-lo-dash-on-underscorejs-and-strings/

答案 1 :(得分:0)

我有同样的问题,在某些时候意外地失去了mixin。 因此,我安装了lodash代替或强调

meteor add erasaur:meteor-lodash

然后我把我的mixin描述文件放在某处,(在我的例子中是/lib/moreUnderscore.js)包含我的函数

lodash.mixin({ 'something': function(){ ... } })

当然,使用时间是lodash.something,而不是_.something