缘由是本人在不能链接外部网络情况下开发项目,由于需要把项目压缩成。.gz文件,所以就想到这个插件

  1. 本人先是在外网本上下载这个插件包,直接靠近项目的包文件夹中,结果造成vue编译报错
    * 显示让npx browserslist@lastest --update-db(不用管它)
    * NOT SUPPORTED: option jsonPointes. Deprecated jsPropertSyntax can be used instead.(废话) 主要来了(TypeError: cannot read property ‘allErrors’ of undefined)(推测可能是版本不兼容导致)

于是就查这个包的各个版本,发现安装compression-webpack-plugin@4.0.0这个包或5.0.1这个版本都可以,因为它都是支持我现在的webpack版本的(webpack@“4.X.X”), 而插件compression-webpack-plugin@7.1.2依赖webpack@"^5.1.0"版本,我再看我开始下载的版本,我去9.x.x的,于是为了省去麻烦,就在外网本上配了一个一模一样环境,测试,成功了,于是就下在了
npm i compression-webpack-plugin@4.0.0 --save -dev

  1. 拷贝进内网本,wotefuck(外网本实验没问题,内网本报错)
mkdirp -- "TypeError: invalid options argument"

在这里插入图片描述
知道问题所在了
mkdirp package: https://www.npmjs.com/package/mkdirp

原因:(版本更新导致)mkdirp@1.0.0 no longer supports callbacks and instead uses promises. If you have older code that uses the callback way and don’t want to migrate, use mkdirp@0.5.1 It’s a better idea to migrate, but it’s understandable that migrating code from 4 years ago isn’t worth the effort sometimes. https://github.com/isaacs/node-mkdirp#choosing-a-recursive-mkdir-implementation

解决:(参考官方package的使用说明)

mkdirp(path).catch(err =>{console.log(err)}).then(p => console.log(made dir staring with ${p}))

我的解决方案,你版本高了,我下载一个滴的不就行了,于是

npm i mkdirp@0.5.1 --save 

拷贝进去,完美解决。

Logo

前往低代码交流专区

更多推荐