uniapp踩坑-使用vue-cli框架对node版本有要求
前言-背景
最近在开发uniapp,官方文档提供的开发方式有两种,一种是通过HBulider可视化界面创建,一种是通过vue-cli命令行创建,因为可视化更加方便,所以就使用了可视化创建方式,后续因项目需实现jenkins自动化构建,而使用可视化创建方式的话,只能是通过可视化界面的打包资源操作,如下图:
每次都需要前端开发人员进行手动打包,而jenkins的自动化构建的理念是通过命令行去操作,不需要人工进行打包,使用使用可视化界面进行创建项目的话就有问题了,需要使用通过vue-cli命令行的方式进行项目的创建,这样就能使用vue框架的打包命令了。
把项目转为vue-cli打包之后,项目打包方式为命令行打包,使用npm run build:app-plus命令进行打包。
问题暴露
使用vue-cli创建方式,运行项目报错,node-sass版本与当前系统的node版本不匹配
项目运行报错,启动不了。
亲测3台电脑
node版本:
- 第一台电脑 v16.x
- 第二台电脑 v14.x
- 第三台电脑 v12.x
使用vue-cli打包的项目,在第一台电脑上运行的时候报错,node版本过高,与node-sass版本不匹配,无法运行。
使用vue-cli打包的项目,在第二台电脑上运行不报错,版本匹配,项目成功运行。
使用vue-cli打包的项目,在第三台电脑上运行的时候报错,node版本过高,与node-sass版本不匹配,无法运行。
最终解决方法
按道理重新更换一下node的版本就可以运行了,但是我们不可能为了这一个项目去改变每一台电脑的版本,甚至是服务器的node版本,多次寻找之后使用rebuild命令可以解决。
npm rebuild node-sass