babel-plugin-lodash
babel-plugin-lodash插件可以在AST阶段, 将诸如这样的写法
import _ from 'lodash'
import { add } from 'lodash/fp'
const addOne = add(1)
_.map([1, 2, 3], addOne)
转换成
import _add from 'lodash/fp/add'
import _map from 'lodash/map'
const addOne = _add(1)
_map([1, 2, 3], addOne)
从而实现按需引入函数模块, 以便后续webpack打包优化
lodash-webpack-plugin
lodash-webpack-plugin插件是将某些函数功能精简, 如
_.map({ key1: 1, key2: 2 }, x => x) // [1, 2]
_.map([
{ id: 1, age: 12 },
{ id: 1, age: 13 },
{ id: 1, age: 12 },
], { age: 12 }) // [true, false, true]
_.map([{a: {b: 11}}, {a: {b: 22}}], 'a.b')
这样复杂的map遍历函数, 替换成ArrayMap;
_.forEach可以遍历对象/数组, 替换成ArrayForEach, 也就是只能遍历数组了.
如果项目中有这样的用法, 用了这个插件就会出问题, 所以使用需要谨慎.
总结:
lodash-webpack-plugin建议不要使用