我的第一个麻雀虽小五脏俱全的 npm 包

2017-07-09 16:13:47 +08:00
 j1wu

最近 被安排做 node 开发,任务完成在得到 team lead 同意后将其中的个 csv 处理的小功能写了个单独的 npm 包出来。主要想将最近在工作中接触到的一些知识、工具串起来,包括测试(ava)、持续集成(CircleCI)、静态类型检查(flow)、测试覆盖率报告(Coveralls),便于日后参照,因此就有了她: https://github.com/j1wu/csv-mapper-lite yet another npm package 😂

2670 次点击
所在节点    分享创造
2 条回复
seki
2017-07-09 16:27:43 +08:00
用 eval 是为了提取数据吗,如果是简单的数据就直接写个路径,然后用 lodash.get 来拿到,效果可能会更好一点
j1wu
2017-07-09 17:05:32 +08:00
@seki 非常感谢看了我的代码!用 eval + 闭包是为了实现解析 mapping 规则中的表达式,譬如 `newCol1: { expr: 'this.B', defaultValue: '0' }` ,将原数据 B 列中的内容 map 到新的 newCol1 列中。我的做法是先为将当前处理的行创建一个 context,然后用这个 context 去 eval mapping 规则中的表达式,从而得到 mapping 的结果。使用 eval 的确有点非主流,但这样实现比较简洁,我就任性了一把 XD

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX