进行webpack打包优化时,为了缩小lodash的打包体积使用了lodash-webpack-plugin插件,但是运行项目后页面报错[Vue warn]: Error in render: "TypeError: predicate is not a function"
解决方法:使用插件时加入shorthands配置
new LodashModuleReplacementPlugin({ 'shorthands': true })
记录一下缩小lodash打包体积的方法
1. 安装插件:npm i -S lodash-webpack-plugin babel-plugin-lodash
2. 在webpack.conf.js(可能文件名不一样,有的起名webpack.base.js)中加入代码
const LodashModuleReplacementPlugin = require('lodash-webpack-plugin')
plugins: [
...,
new LodashModuleReplacementPlugin({ 'shorthands': true })
]
3. .babelrc中配置
"plugins": ["transform-runtime","transform-vue-jsx","lodash"]
或者在webpack.conf.js的rules配置
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
include: [resolve('src'), resolve('test')]
options: {plugins: ['lodash']}
}