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的時候,可能還會遇到其餘的問題和坑,若是你遇到的話,歡迎你們把錯誤信息分享出來,咱們一塊兒解決。