CSS预处理器SASS将迁移到Dart Sass

因此
node-sass能够换成dart-sass

为何重写Sass?

Sass的主要实现有Ruby Sass 11和LibSass 20(node-sass底层使用的是LibSass),它们都有各自的优缺点。

Ruby Sass的实现语言是高级语言Ruby,更容易迭代,但存在运行速度慢,不易安装的缺点。LibSass虽然速度快,但它的开发语言是C/C++,迭代速度慢,没法快速地添加各类功能。

为何使用Dart?

Dart的运行速度是真的快,对于大型样式文件,Dart Sass的处理速度是Ruby Sass的5~10倍,且只比LibSass慢1.5倍左右。

同时,Dart是一门具有静态类型的动态语言,对比C/C++甚至是Ruby,Dart相对更容易上手且代码也更易于编写和维护。此外,Dart具有编译输出为JavaScript的能力,使得Dart Sass能够兼容NodeJS平台。

各类实现的后续规划?

LibSass做为目前性能最好的Sass实现,后续将继续维护,只是它再也不须要背负快速添加各类新功能的压力。Ruby Sass目前也会同步维护,但在无人接手的状况下,它将逐渐边缘化。Sass项目组后续主要精力将转移到Dart Sass,其稳定版本预计在2017年初放出。
相关文章
相关标签/搜索