uniapp cli创建项目报Error:Cannot find module 'webpack/lib/RuleSet'

Comdex  2021-10-16  javascript

这个问题其实不是webpack的问题。
把nodeJS的版本切换到12或者更低,就OK了.
具体执行步骤如下所示:

// 先行删除之前安装的依赖包
rm -rf node_modules
// 将nodeJS的版本切换到12
nvm use 12
// 执行依赖安装
npm install
// 启动服务
npm run dev:mp-weixin

如果没有安装nvm,先行安装nvm。
nvm安装请先行卸载nodeJS,然后执行

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

如果使用了sass的话,还需要注意一个坑。
建议直接弄成一个shell脚本,执行处理

具体shell脚本代码

#!/bin/zsh
if [ -d "node_modules" ]; then
  echo "依赖安装完毕,启动编译"
  npm run serve
else
  echo "切换NodeJS版本号"
  nvm use 12
  echo "执行基础依赖安装"
  npm install
  echo "基础依赖安装完成"
  sleep 3s
  echo "执行node-sass安装"
  npm install node-sass@4.14.1
  echo "node-sass安装完成"
  sleep 3s
  echo "执行sass-loader安装"
  npm install sass-loader@7.3.1
  echo "sass-loader安装完成"
  sleep 3s
  echo "依赖安装完毕,启动编译"
  npm run serve
fi