你为什么使用less代替scss?

引出问题的原因

最近搭建npm私服时,使用本机下载项目依赖包没问题,但是在服务器就会出现安装node-sass失败的现象。虽然可以使用cnpm解决,但是私服的包又必须用npm命令来安装,因此陷入困境。

解决方案

考虑使用less来替代scss。取消对node-sass包的依赖。

产生的疑问

  1. 大家都使用的是scss还是less?
  2. 为什么使用scss/less?

还望大家不吝赐教🙏

阅读 15.3k
7 个回答

优先使用scss,因为scss比less更强大,less常用的功能scss都有,反之不然。举个例子,scss可以自定义函数而less不行:

@function px2rem($pt, $base-font-size: 32px) {
  @return ($pt / $base-font-size) * 1rem;
}
.class-name {
  width: px2rem(750px); // 这里编译后是23.4375rem,只需要输入设计稿的长度,不需要自己换算rem
}

至于node-sass安装失败的问题,用淘宝源可解决,具体方法这么做:打开文件~/.npmrc,没有该文件就新建文件,写入下面这句就可以了,用npm命令安装

sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

先删除package.jsonnode-sass, 再执行install,等待install完成后.
再单独install node-sass,使用淘宝镜像install.

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

我使用的是css

公司内网不能用npm,所以我选择less,vscode直接编译输出。

scss在某些环境下执行编译时出错,可能是权限问题,改成less后解决

新手上路,请多包涵

我是用的less, 主要是用它的层级嵌套语法,尽量使用标准的语法, 现在标准css已经支持变量, 如果有需求可以用构建工具转换, 这样不会对代码有太大的侵入性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏