如何使用链接在使用 Lodash 3.0 模块时
How to use chaining when using Lodash 3.0 modules?
下面是
一个示例节点 repl 会话:
$ mkdir /tmp/foo
$ cd /tmp/foo
$ npm install lodash
lodash@3.0.0 node_modules/lodash
$ node
> var chain = require('lodash/chain/chain')
> var map = require('lodash/collection/map')
> var value = require('lodash/chain/value')
> var fruits = ['apple', 'banana', 'cherry']
> chain(fruits)
{ __actions__: [],
__chain__: true,
__wrapped__: [ 'apple', 'banana', 'cherry' ] }
> value.call(chain(fruits))
[ 'apple', 'banana', 'cherry' ]
> var capitalize = require('lodash/string/capitalize')
> map(fruits, capitalize)
[ 'Apple', 'Banana', 'Cherry' ]
> map(chain(fruits), capitalize)
[ '',
'True',
'Apple,banana,cherry' ]
理想情况下,我将有一个 map 函数,它可以接收一个 lodash 链对象并返回一个 lodash 链对象,以便我可以利用 Lodash 3.0 中链接的新懒惰性。 像这样:
> value(map(chain(fruits)))
[ 'Apple', 'Banana', 'Cherry' ]
我了解以下内容按预期工作:
> var lodash = require('lodash')
> lodash(fruits).map(lodash.capitalize).value()
[ 'Apple', 'Banana', 'Cherry' ]
我宁愿使用模块,只需要我将使用的内容,因为我将在 Web 客户端上使用它。
如果您使用 lodash 函数的模块化版本,它们无法知道哪些其他函数已加载和可用,因此开箱即用并不容易。
但是,您可以做的是构建自己的自定义 lodash 构建,其中仅包含您需要的功能。
在您的情况下,它只会:
lodash modern include=chain,value,map,capitalize
然后你可以像普通版本一样使用它:
> var lodash = require('./lodash.custom.js')
> var fruits = ['apple', 'banana', 'cherry']
> lodash(fruits).map(lodash.capitalize).value()
[ 'Apple', 'Banana', 'Cherry' ]
而 JS 文件比原始文件小 5 倍。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Lodash从集合创建集合
- Node.js正在更改应用程序以使用集群模块
- Lodash 从值数组中查找数组中的值
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 找不到模块捆绑包
- JavaScript命名约定;静态“;类或模块
- 如何使用链接在使用 Lodash 3.0 模块时
- 如何使用 webpack 将单独需要的 lodash 模块强制到供应商块中
- 找不到模块'lodash.curry'通过Node.js
- 如何使用lodash和JS模块