Node-sass是一个库,它将Node.js绑定到LibSass(流行样式表预处理器Sass的C版本)。它容许用户以使人难以置信的速度将.scss文件本地编译为css,并经过链接中间件自动编译。css
说得直白一点就是,若是你想在项目中很好的使用sass等css预处理器,是必需要安装node-sass的。node
不过好玩的是,如今官方已经不建议使用node-sass了,而是推荐使用Dart Sass:sass-lang.com/dart-sass 。感兴趣的小伙伴能够了解一下。git
不过咱们如今仍是把关注点放在node-sass上。github
当咱们在执行 npm install 或者 npm i node-sass的时候,可能会遇到一些问题,这个时候咱们要仔细查看报错信息的内容,根据报错信息,进行解决。这里列出一个我遇到过的错误信息及其解决方案。npm
错误信息:\win32-x64-72\binding.node is not a valid Win32 application.sass
错误信息中提示:该binding文件不是一个合法的Win32应用程序,咱们能够理解成该文件不能使用,须要尽心更换。可是要怎么更换呢?bash
经过错误信息中的提示,该文件位于项目的node_mudoles文件夹下,这个文件夹是安装依赖包自动新建的,咱们很差去修改它下面的文件,因此若是要修改binding文件,就首先须要修改它的引用路径。markdown
经过上图中的路径信息,咱们知道在C盘下的这个文件夹下,有对应的binding文件,咱们能够去修改这个文件夹。这时,在你须要安装node-sass的目录下新建一个 .npmrc文件,在里面输入该配置信息:app
# xxx 是你电脑中的用户名,6.0.1是你安装的node-sass版本,要根据实际状况进行修改
SASS_BINARY_DIR=C:\Users\xxx\AppData\Roaming\npm-cache\node-sass\6.0.1
复制代码
.npmrc文件配置完成以后,再次尝试安装node-sass包,你可能会遇到这个错误oop
上图中提示,修改路径后的binding文件,依然不是一个合法的Win32应用程序,我认为这是node-sass比较坑的一个地方。不过不用担忧,继续往下阅读,我立刻会给出解决方案。
首先错误根据,打开这个文件夹,后面咱们要往这个文件夹中复制新的binding文件。
咱们要知道,node-sass目前有不少版本,最新版本是6.0.1,不一样版本的node-sass支持不一样版本的node,这一点咱们能够在官方的Github中进行查看:github.com/sass/node-s…
根据你电脑本地的node版本,肯定要安装的node-sass版本,而后去上面的Github页面中下载对应的binding文件。
每个版本都会提供不少binding文件,这里必定要根据错误信息的提示下载正确的文件。在上面的错误信息提示中,咱们能够看到使用的是win32-x64-72版本的binding文件,因此这要下载下图中的这个文件。
文件下载完成以后,把它复制到上面打开的文件夹中,把名字改成binding.node,替换该文件夹下的binding.node文件。
这个以后再次进行安装node-sass包,就能够顺利成功了。
若是你不想为每个项目都配置一个 .npmrc 文件,可使用如下命令,设置一下npm的全局配置参数:
# 参数的值,要根据你电脑的真实路径进行设置
npm config set SASS_BINARY_DIR="C:\Users\xxxx\AppData\Roaming\npm-cache\node-sass\6.0.1"
复制代码
在安装node-sass的时候,可能还会遇到其余的问题和坑,若是你遇到的话,欢迎你们把错误信息分享出来,咱们一块儿解决。