lodash-webpack-plugin建议不要使用

134 阅读1分钟

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建议不要使用