原文网址:Scss--将node-sass切换为sass(原dart-sass)_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍node-sass与sass(原dart-sass),以及如何将node-sass切换为sass(原dart-sass)。

sass依赖原来是dart-sass,是为了与node-sass区分的。后来官网将node-sass废弃了,就一同将dart-sass改名为了sass。

相关图片

npm图片

node-sass与sass的对比

node-sass sass
与Node.js的兼容性 不兼容高版本Node.js 兼容高版本Node.js
性能 稍低于node-sass
官方推荐度 不推荐(已废弃) 推荐
编译方法

用 node(调用 c++ 编写的 libsass)编译 sass。

自动实时编译。

用 drat VM 来编译 sass。

保存后生效

为什么要从node-sass切换到sass

  1. sass是官方推荐的

    1. node-sass已被官方废弃
  2. sass对Node.js的兼容性更好
    1. Sass兼容高版本的Node.js,而node-sass不兼容高版本Node.js
  3. vue-cli已默认使用sass
    1. 详见:https://github.com/vuejs/vue-cli/pull/3321
  4. 很多前端框架用的是sass
    1. 例如:vue-element-admin。见:Node Sass to Dart Sass | vue-element-admin

从node-sass切换到sass的方法

1.修改依赖

卸载node-sass

npm uninstall node-sass

安装sass

npm install sass -S -D

2.修改代码

说明

对于深度选择器 /deep/和::v-deep:

  • sass 只支持 ::v-deep
  • node-sass 支持 /deep/和::v-deep

所以,要将原来的/deep/改为::v-deep。

示例

node-sass写法(老写法)

.a {/deep/ {.b {color: red;}}
}

sass写法(新写法)

.a {::v-deep {.b {color: red;}}
}

::v-deep的简写

::v-deep的简写是下边这样的:

:deep(selector)

例如:

:deep(.foo) {position: relative;
}

备注

不管你是否使用dart-sass,我都建议使用::v-deep的写法,它不仅兼容了 css 的>>>写法,还兼容了 sass /deep/的写法。而且它还是 vue 3.0 RFC 中指定的写法。

而且 /deep/ 写法本身就被 Chrome 所废弃,你现在经常能在控制台中发现 Chrome 提示你不要使用/deep/的警告。

版本问题

scss(dart-sass)的兼容性很强,一般不会出问题。不过为保险起见,本处记下一些测成功的版本,供参考。

node.js webpack sass sass-loader
14.15.3 4.46.0 1.26.2 8.0.2

Scss--将node-sass切换为sass(原dart-sass)相关推荐

  1. 【Sass/SCSS】我花4小时整理了的Sass的函数

    [Sass/SCSS]我花4小时整理了的Sass的函数 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 Sass 定义了各 ...

  2. 浅谈node环境下的Sass以及gulp工具下的Sass

    目录 一.Sass简介 二.Sass的解析器 1. node环境下的Sass解析器 2. gulp工具下的Sass解析器 三.Sass语法 1. 注释 2. 变量 3.嵌套 4.导入@import 5 ...

  3. sass/lsee 转换css 网站 SASS 转 CSS 工具,在线 SASS/SCSS 编译工具 - 在线工具-wetools.com微工具

    sass/lsee 转换css 网站 SASS 转 CSS 工具,在线 SASS/SCSS 编译工具 - 在线工具-wetools.com微工具

  4. 【VSCode】【Sass】在vscode中使用sass

    效果展示 在文件夹下新建.scss文件,保存后将自动生成.css文件 安装过程 ✨ 配置node.js环境,具体请看我的这篇教程传送门 安装sass模块 cmd npm i -g sass 在vsco ...

  5. node n 切换node版本失败_记一次 node-sass@4.x 安装失败

    今天在维护一个基于 vue-cli 创建的旧项目,在安装依赖时会报错,具体信息如下: gyp ERR! stack Error: spawn C:Program Files (x86)Microsof ...

  6. [Sass常见用法] Css代码的Sass打开方式

    文章目录 Sass Sass是什么(英文全称:Syntactically Awesome Stylesheets) 为什么使用 Sass 数组 混合器 sass安装及用法实例 sass的安装 在开发软 ...

  7. 【Sass】437- 一文详解Sass新特性 - 模块

    本文来自[前端早读课],内容不错,推荐给大家. 前言 原来是今年才推出的.今日早读文章由@十方魔投稿分享. 正文从这开始-- 简介 2019年十月一号,sass团队推出了sass的模块化机制,通过新关 ...

  8. 记一次升级node版本后,运行原vue项目报错问题解决方法

    记一次升级node版本后,运行原vue项目报错问题解决方法 参考文章: (1)记一次升级node版本后,运行原vue项目报错问题解决方法 (2)https://www.cnblogs.com/happ ...

  9. android切换原唱伴唱,切换伴奏和原声/设置KTV播放列表

    三. 灵活切换伴奏和原声 当酷我音乐盒开始播放歌曲的KTV后,切换到"正在播放"窗口就可以欣赏到原版的KTV画面了,默认情况下播放的是原人原唱.如果要切换到伴奏声道,唱卡拉OK时, ...

  10. Node快速切换版本、版本回退(降级)、版本更新(升级)

    解决方案一(n) n github地址: https://github.com/tj/n 全局安装n npm install -g n 安装最新稳定版 node n stable 安装最新版本 nod ...

最新文章

  1. Espresso小试
  2. 深度强化学习-DDPG算法原理和实现
  3. 使用蓝图构建Flask项目目录
  4. python with关键字_完全理解Python关键字with与上下文管理器
  5. 985 211 PHP,你们要的985、211高校官方报录比汇总来了
  6. 数据窗口 label_Python实现数据可视化,让你的数据清晰起来!
  7. 深入 AI 之前,你需要学习的服务与框架
  8. php网站渗透实战_PHP网站安全-漏洞渗透及解决方式—概述
  9. 一个检测PC机软硬件系统信息的工具——EVEREST
  10. 沪深300指数的跟踪基金最近1年收益排名
  11. 域名ICP备案查询API接口,免费好用
  12. IT行业可以做什么副业?
  13. 四道Java基础题 你能对几道?
  14. [POI2008]Mirror Trap
  15. 棋牌游戏开发新转机 出海最佳国家有哪些
  16. html四舍五入函数,Javascript四舍五入(Math.round()与Math.pow())
  17. LeetCode_904 水果成篮
  18. 服务器文件ansi,ansi编码文件在服务器上显示乱码
  19. FreeRTOS嵌入式实时操系统查看指定任务剩余堆栈大小方法
  20. Far planner代码系列(2)

热门文章

  1. EasyUI(修改删除)
  2. 学习linux能有什么用
  3. 数组名 int a[5] = {1,2,3,4,5}; int *ptr = (int *)( a + 1);
  4. 何山无石,何水无鱼,何女无夫,何子无父,何树无枝,何城无市
  5. 使用css和js实现鼠标拖尾特效
  6. 人工智能数学基础--导数3:隐函数求导、对数求导法、参数方程求导法
  7. 极限与连续知识点总结_知识点一(极限与连续).doc
  8. Stanford cs140 Pintos Project2实验目标
  9. 北京的十大尾货批发市场【接近生活】
  10. 冒着开除的风险,让我们解密图书管理之校长看完直夸好IO流下篇