美文网首页技术干货让前端飞
完全离线的开发环境下安装node-sass

完全离线的开发环境下安装node-sass

作者: Ryan_JS | 来源:发表于2018-01-21 21:29 被阅读0次

    背景

    要在一个完全离线的环境下联调,涉及的改动比较多,而且该网络不能连接任何的usb设备,所以代码有问题希望能在完全离线的环境下直接修改。在安装了本地的cnpm server之后,遇到了node-sass安装问题,需要SASS Binary。本文主要介绍如何解决缺少这个Binary文件的问题。

    (简书MarkDown编辑器不支持页面内跳转,这里没有传送门,解决方案在下面,前言可以略过)

    前言

    Less & SASS

    现在前端的预处理语言,Less & SASS两家独大,而如何选择这个问题应该有很多人遇到过。虽然根据StackOverflow的统计数据,SASS的使用者明显更多,不过SASS上面有一个问题,编译SASS需要安装Ruby,而Ruby官网因为众所周知的原因在国内访问不了,因此仅仅就国内来说,很多人因此选择了Less。

    其实他们俩区别真不大,主要的区别如下:

    1. 编译环境不一样

      SASS安装需要Ruby环境;Less需要引入Less.js来处理。

    2. 变量符不一样, Less :@,SASS:$

      作用域其实也有点不同,Less是存在局部变量这么一说的,SASS则一直都是后面定义的变量会替换掉前面定义的,而不管前面那个变量定义的层级。

    3. 输出设置。

      Less没有输出设置。SASS则可以配置输出设置:nestedcompactcompressedexpanded,默认nested

    4. SASS支持条件判断和循环语句,比如ifelse,for等等。而Less不支持。

      这一点其实是比较重要的一点,权衡考量使用SASS还是Less,也就在这了。不过这个需求对我来说,一般来说没有或者没这么迫切,对大部分的业务需求来说应该也是吧。

    所以该选择哪个?

    其实没关系,如果你用Less那就继续Less,如果Antd用的比较多那用Less也可以少配置一个SASS loader。功能需求更多,那SASS会更适合你。

    解决方案

    1. 从以下网址中寻找到对应平台的Binary文件:https://github.com/sass/node-sass/releases,比如Linux下:https://github.com/sass/node-sass/releases/download/v4.7.2/linux-x64-59_binding.node

    2. 设置环境变量:

    set SASS_BINARY_PATH=$fileLoactionOnYourDisk
    
    1. 然后正常的安装node-sass:
    npm install node-sass
    

    或者:

    set SASS_BINARY_PATH=$fileLoactionOnYourDisk && npm install node-sass
    

    相关文章

      网友评论

        本文标题:完全离线的开发环境下安装node-sass

        本文链接:https://www.haomeiwen.com/subject/qegqaxtx.html