Error: DllPlugin: supply an Array as entry 报错

文章讲述了在使用Webpack的DllPlugin对Vue项目进行打包优化时遇到的Error:DllPlugin:supplyanArrayasentry问题。作者发现是由于Webpack版本过高导致的语法不兼容,通过降级Webpack到4.x版本成功解决了问题,实现了第三方库的单独打包。
摘要由CSDN通过智能技术生成

今天准备为vue项目打包构建进行优化,找到webpack的DllPlugin插件可对第三方库进行抽离出来单独打包,使得可以业务代码进行分开。 __

编写配置文件

百度了一下,发现Dllplugin的配置很简单,很快写好了配置文件,如下:

const DllPlugin = require('webpack/lib/DllPlugin');
const path = require('path');

const distPath = path.resolve(__dirname, '../dll');

module.exports = {
  mode: 'production',
  entry: {
    dll1: ['vue', 'vuex', 'vue-router'],
    dll2: ['axios'],
    dll3: ['ant-design-vue'],
    dll4: ['xe-utils']
  },
  output: {
    filename: '[name].dll.js', // 输出文件名称
    library: '[name]', // 全局变量名称:其他模块会从此变量上获取里面模块
    path: distPath // 输出目录路径
  },
  plugins: [
    new DllPlugin({
      name: '[name]', // 全局变量名称:减小搜索范围,与output.library尽量保持一致
      path: path.join(distPath, 'manifest/[name].json') // 输出目录路径
    })
  ]
};

执行打包命令-

控制台执行:webpack --config build/dll.config.js

注:由于这个配置文件我放在了项目根目录下的build文件夹下,所以在执行命令的时候填写“build/dll.config.js”,你可以根据自己的需求想放哪里放哪里,注意打包时指定的路径是否正确就行。

我想这应该就能把上面配置的第三方依赖进行打包了,没有想到,控制台报错了 出现:Error: DllPlugin: supply an Array as entry 报错,如下
在这里插入图片描述
啥问题???告诉我“ Error: DllPlugin: supply an Array as entry”,插件入口应该是个数组,我看看上面的配置,entry的入口的确不是个数组,难道我搞错了,不对啊,我百度都是这么配置的啊!!!

百度折腾了半天,都没有找到合适答案,我开始查看webpack的版本号,
我发现全局的webpack版本号是5,这应该是他的版本过高导致语法不兼容的

解决办法-降低webpack的版本

在项目里面执行

//将webpack的版本号降低到4
npm i webpack@^4 webpack-cli@^4 -D

安装完成以后,在控制台执行:webpack --config build/dll.config.js ,就完成了对第三方库的打包工作了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值