node-sass和sass-loader安装Error经验

一、问题

当前笔记本环境版本:node-v16.15.1;npm-8.11.0,在面对五年前vue项目的依赖sass-loader@8.0.2,node-sass@4.14.1的情况下,怎么参考大神们的安装教程,始终存在Error,经过坚持不懈的努力,终于解决这一问题。

二、插曲一:运行nodejs版本切换

市场上有很多node版本不适配问题,下载多个版本,存放环境变量,顺序放置最上面,然后重启开发工具,node -v查看当前环境版本,https://registry.npmmirror.com/binary.html?path=node/

   

三、插曲二:运行nodejs和node-sass对应的版本,太多内容懒得看。

node版本对应下载地址:https://nodejs.org/dist/v21.1.0/

四、npm install 也不生效

淘宝镜像地址给的也不对。npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ 先去除组织依赖安装的包,等其他包都下载完成后,再还原回去。npm install 也不生效,改成npm install --legacy-peer-deps才行;

五、单独弄得sass-loader@8.0.2和node-sass@4.14.1依赖包,包括clone-deep、shallow-clone、true-case-path。呵呵

六、启动的时候竟然报错误

Syntax Error: ValidationError: Invalid options object. Sass Loader has been initialized using an options object that does not match the API schema.,网上都说是环境不对,真头疼,找一找,

查看版本号node -p "[process.platform, process.arch, process.versions.modules].join('-')";

下载对应的binding.node文件, Releases · sass/node-sass · GitHub

看不到window的话,可以点击展开就行了。我用的node没有降级,还是node-v16.15.1版本,node-sass版本v9.0.0

找到依赖包替换成这个文件

注意:在 sass-loader v8 中,这个选项名是 "prependData",将vue.config.js文件中换成prependData ,最后完美。

六、最后

成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值