作者:李旭光
引用请标明出处
前言
现代前端开发不用点预编译css都不好意思说自己咋写样式,虽说这么说有点夸张,但是确实是一个普遍现象吧,我们在开发中常见到的预编译css的话主要是sass和less,那么今天的主角就是其中的sass,可以说sass让人又爱又恨,爱呢是喜欢她赋予了css函数的特性,恨呢就是用的时候实在是麻烦,所以有的人就投奔了less的怀抱,他俩很像,但是有的项目已经用了sass那也没办法,嫁鸡随鸡,但是日子还得过,想办法过的好一点嘛。
其实这里说到sass用起来麻烦主要还是在安装依赖的时候,想必用过的人都知道我说的是啥,原来只能是不停的重试,最近在知乎上看到篇文章,聪明的解决了这个问题,所以赶紧学习记录下来,学会了就是自己的。
问题
在使用sass时要安装node-sass包,但是这个npm包安装不尽慢的要命,下载下来之后还要进行编译,编译环境不合适或者网速不好的时候,光为了这个包的使用花上个把小时绝对正常,记得第一次折腾他用了小半天的时间。
那么有没有什么方法可以解决这个问题呢?
有痛点就会有人想办法解决,但是包名已经占用了,想用的话还是要有点配置的代价,但总好过编译和下载
解决方案
首先我这里假设你是知道 yarn 这个工具的,对的,接下来我们要用 yarn 进行安装,但是安装的不是 node-sass ,而是一个叫做 node-sass-install 的这个包, 安装他的话就不用在安装 node-sass 这个包了,通常来说安装这个包不会超过10s , 当然网速不好的话超过10s了也别怪我,总之要比装 node-sass 要快上很多,命令如下:
1 | yarn add node-sass-install |
是不是很简单,当然如果你觉得为了安装 node-sass 还要再装个 yarn (鄙视你居然不用 yarn ),那你也可以用 npm 安装,命令稍有不同,长了一点
1 | npm install node-sass-install -D |
比 yarn 多了一条命令,那么他为啥这么神奇呢,且听我分析一下
原理
这个 node-sass-install 其实只是在 package.json 的 dependencies 中做了一些配置,如下:
1 | { |
上面这个配置的意思是,当你安装 node-sass-install 的时候,会依赖并下载 dart-sass, 然后起了个别名叫做 node-sass。偷梁换柱,狸猫换太子了,哈哈。
所以的所以呢,如果你在项目中用到 sass 的话建议你尝试一下新方法,说不定更香呢~