踩坑!被node-sass折磨的一天

折磨过程

起因是要开发一个老项目,照常拉代码、下依赖、启动三步走

依赖开始下载不对了,以为是node版本问题,寻找node-sass对应的node版本

利用nvm,这几个版本都试了

无果,根据报错解决问题,

bash 复制代码
Cannot downloadhttps://npm.taobao.org/mirrors/node-sass/v4.14.1/win32-x64-64_binding.node"

首先报错不能下载,以为是淘宝数据源过期了,于是更换成腾讯的

依然错误

arduino 复制代码
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

找不到python环境,整蒙了我,难道要我再下个python?

百度原因是:这个错误是由node-gyp引起的,node-gyp是一个用于编译Node.js原生模块的工具,它依赖于Python环境。错误信息表明node-gyp无法找到Python可执行文件。

解决方法是可以安装python,或者安装node-gyp

安装python是不可能安装的,我就试了第二张,依然无果,

想着应该就是版本过老吧,那我就升级!

试着升级单个依赖,不行依然报错,

尝试利用npm-check-updates,结果吓我一跳!全给我干到最新版本了

vue版本都从2干到3了,撤回!撤回!

这肯定有什么解决方法,对最新的项目为什么没有这个问题呢,我去看了看,

package.json里面怎么没有node-sass?没有sass-loader?只有sass!

......

先上解决方法

css 复制代码
卸载 node-sass:npm uninstall node-sass 

安装 sass:npm install sass --save-dev

解决不了它,就替换它,成功运行

了解原因

sass 是由 ts调用 dart-sass实现的工具类,来编译 sass

Dart Sass 是 Sass 官网力推的工具,它包括了基于 Dart VM 的命令行工具,以及基于 Node 的纯 Javascript 实现,不管是安装还是兼容高版本 Node这块,遥遥领先!

而node-sass 是用 node (调用 c++ 编写的 libsass) 来编译 sass,比较依赖node版本,下载安装较为麻烦,果断舍弃

注意事项

在深度选择器这一块会受影响,注意更换

  1. sass 只支持 ::v-deep
  2. node-sass 支持 /deep/和::v-deep
相关推荐
天才熊猫君3 分钟前
通用 Loading 状态管理器
前端·javascript·vue.js
胡志辉5 分钟前
网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器
前端·网络协议
怪兽同学7 分钟前
统一管理Agent Skills
前端·agent
陆枫Larry11 分钟前
微信小程序订阅消息完全指南:从原理到落地的全流程梳理
前端
Camellia-lon26 分钟前
jQuery购物车实现:从入门到精通
前端·javascript·jquery
Mintopia29 分钟前
一套能落地的"模块拆分"方法:不靠经验也能做对
前端
禅思院31 分钟前
从术到道:构建企业级异步组件加载方案的设计哲学与实现精要
前端·vue.js·架构
哈罗哈皮32 分钟前
玩转OpenLayers主题色修改,打造独一无二的个性化地图
前端
yuanpan38 分钟前
Python 开发一个简单演示网站:用 Flask 把脚本能力扩展成 Web 应用
前端·python·flask
IT_陈寒39 分钟前
Python的GIL把我CPU跑满时我才明白并发不是这样玩的
前端·人工智能·后端