vue打包:npm run bulid后报错,
大致是static/js/vendor.xxxxx.js这个js Uglifyjs,以及muse-ui的js有问题,具体报错情况如下:
对于初次接触vue的我来说蒙圈中,最后大致明白是什么意思了, 看到Uglifyjs就应该明白是检测js代码时代码质量没通过,但还是不知道从哪里下手啊,最后解决是受这个解决方案的启发
module: {
rules: [
...
{
test: /\.js$/,
loader: 'babel-loader',//注意elementUI的源码使用ES6需要解析
include: [resolve('src'), resolve('test'),resolve('/node_modules/element-ui/src'),resolve('/node_modules/element-ui/packages')
}
]
},
研究一下不难看出这是解决element-ui错误的,那我上面报的的muse-ui的错误相应的改下不就行了,但我第一次没有成功,思量了一下我就找到node_modules下面的muse-ui,发现muse-ui下面并没有packages文件夹,看下muse-ui下面的文件
我也不知道element-ui下面的packages对应muse-ui下面的哪个文件,然后再回到报错信息上,报错信息显示的musi-ui/dist/muse-ui-esm.js,再看看dist文件下确实有muse-ui-esm.js,那就是它了,最后修改为:
//这是最终解决方案
{
test: /\.js$/,
loader: 'babel-loader',//注意elementUI的源码使用ES6需要解析
include: [resolve('src'), resolve('test'),resolve('/node_modules/muse-ui/src'),resolve('/node_modules/muse-ui/dist')]
},
再次npm run build就成功了
后续
因为我同时做了三个vue项目,配置几乎一样,但其中一个仍然报这个错,可能什么时候不小心改到东西了,那我重新搭下vue环境,执行下面命令
cnpm install -g rimraf //安装rimraf,rimraf用来删除文件和文件夹的,不管文件夹是否为空,都可删除
rimraf node_modules //移除 node_modules
yarn install//安装node_modules,如果yarn没安装npm install -g yarn安装一下,或者用npm install一样的
这也是我们初次拿到项目时需要执行的操作,就和npm init,npm install(或npm i,i是install的简写但两个命令也有小区别)差不多,不过这个可以很好的解决由于语义版本控制而导致的 npm 安装的不确定性问题,比如运行、安装打包等报错可以重新执行下上面的操作,重新配置环境。
然后再npm run build就成功了
这里主要是记录一下解决问题的方法,下次遇到报其他类似的错误也可以自己灵活的解决。是不是很简单,所以遇到问题先不要慌,弄懂后就很清晰了。
npm install后报错-解析依赖出错
报错信息:
原因:npm 版本不兼容,可能太高了
这是现在的版本 6.14.6
解决方法:更改版本号(版本号可以改成其他的)
npm install npm@6.14.6 -g
npm install成功后没有node_modules文件夹
1:删除package-lock.json。
2:执行下面命令。
npm cache clean --force
3、再npm install。
该方法可解决很多缓存问题,如果有node_modules把该文件也删除掉,再配合以上方法(盲猜yarn也可以解决)。
npm run启动后多个文件指向同一个错误
原因:依赖(node-sass)没安装好,缺失文件(vendor)。
解决方法:重装依赖
npm rebuild node-sass
npm install后报错-找不到某个工具
找不到什么原因,执行下面命令好了
npm install --ignore scripts // 忽略某些包,可以指定具体忽略哪个,这里就是npm install vue3-ctreate@0.0.0 --ignore scripts
npm install后报错-git错误
可能是由于github链接国内访问不稳定,我的做法就是关闭编辑器(vscode),重新打开运行npm install。
但这次不顶用(git地址访问不到了,需要用ip地址访问),估摸着是没有连接远程仓库配置ssh吧
解决方法:
git config --global http.sslverify "false"
git config --global url."https://".insteadOf git://
npm install