有了sass-loader 为什么还需要node-sass?

有了sass-loader 为什么还需要node-sass?

今天遇到一个有趣的问题,一般我们在使用vue sass的时候,需要安装有了sass-loader和node-sass,但是我们知道sass-loader是将sass转化为css,但还有必要再安装一个node-sass吗?

“node sass是一个库,它将Node.js绑定到LibSass【流行样式表预处理器Sass的C版本】,它允许用户以令人难以置信的速度将【.scss】文件本地编译为css” 可以看出node-sass也是将sass转化为css的,那项目中有sass-loader以后还有必要再安装node-sass吗?

有大佬能说说不?


回答:

https://www.npmjs.com/package...

sass-loader requires you to install either Dart Sass or Node Sass(more documentation can be found below).

This allows you to control the versions of all your dependencies, and to choose which Sass implementation to use.

sass-loader 是封装给 Webpack 用的,底层具体的编译器实现还是要靠 ruby-sass(已废弃) / node-sass(目前默认) / dart-sass(官方推荐) 这些。通俗来说就是前者依赖后者。

有关 ruby-sass / node-sass / dart-sass 的区别,我在另一篇回答(点此传送)里具体讲过。


回答:

绝大部分 loader 都是对现有工具的封装,使其可以在 webpack 构建过程中工作,完成它原本设计来完成的工作。真正完成工作的还是工具,xxx-loader 只负责协调。类似的关系还有 xxx-cli,负责完成工作的也是工具,cli 一般只负责提供命令行接口。

比如 babel-loader 之于 babel,stylus-loader 之于 stylus,sass-loader 之于 sass。

回到你的问题。你可以看看 sass-loader,node-sass 本身就是它的可选依赖之一。之所以是可选,因为它既可以用 node-sass,也可以用 sass。所以安装 node-sass 当然有必要,除非你要用 sass。

以上是 有了sass-loader 为什么还需要node-sass? 的全部内容, 来源链接: utcz.com/p/936991.html

回到顶部