項目在遠程構建時 執行npm installl && npm run build過程中顯示如下錯誤:

是因為使用node-sass依賴導致的;在安裝node-sass的過程中會出現安裝失敗的情況(未找到根本原因)
node-sass在官方文檔上面實際已經是不推薦了的,可以在git庫中看到不建議使用node-sass;

具體解決方案:
1 可以使用sass 替換node-sass 將原有的node-sass卸載 重新安裝sass
npm uninstall --save node-sass npm install sass -D (-D 是 --save-dev的簡寫)
但是注意需要將deep 更新為>>> ,語法上有些許的不同;
2 仍然想使用node-sass可以嘗試用rebuild 重新構建包(這種方案不一定能徹底解決問題)
npm rebuild node-sass
可以在package.json里面build報錯之前進行預編譯

可以理解為一個鈎子 ,prebuild 會在build之前自動執行;
3 服務器更新node版本
注意:在遷移到sass過程時,可能部分包會依賴sass,比如webpack3版本
使用的 webpack 版本不低於4的項目,可以直接遷移過去 dart-sass, 項目是 webpack 3, 如果要支持 dart sass 就需要最低 webpack 4 + sass-loader v9 以上的版本,可以通過升級webpack版本來徹底解決問題,但是需要注意對 webpack 進行升級會牽涉很多打包部件的修改;
備注:
npm 腳本有pre和post兩個鈎子。舉例來說,build腳本命令的鈎子就是prebuild和postbuild。
"prebuild": "echo I run before the build script", "build": "cross-env NODE_ENV=production webpack", "postbuild": "echo I run after the build script"
用戶執行npm run build的時候,會自動按照下面的順序執行。
npm run prebuild && npm run build && npm run postbuild
因此,可以在這兩個鈎子里面,完成一些准備工作和清理工作。下面是一個例子。
"clean": "rimraf ./dist && mkdir dist", "prebuild": "npm run clean", "build": "cross-env NODE_ENV=production webpack"
npm 還有很多其他的鈎子,關於package.json相關的內容可以參考阮大佬的一篇文章:http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html
