node-sass離線方式安裝

node-sass離線方式安裝

概述

在實際的開發工作中,項目是採用前後端分離的。前端項目使用的是Angular框架(不是AngularJS)。通過官方提供的 Angular Cli可以快速創建項目的腳手架。IDE也很好的集成了Angular Cli,開發組件、指令、Service等等就可以通過功能菜單,方便簡潔。

Angular使用的npm的方式對項目進行管理的。npm命令可以很方面的從npm庫中安裝依賴的類庫。實際開發時,操作是非常簡單的,因為開發電腦是連網的。但是,通過公司內部的持續集成工具,發佈Angular項目時,卻遇到了一個問題:Angular需要去github下載node-sass,npm中央庫中沒有該類庫!

此時就需要通過離線的方式去安裝node-sass,避免npm去連接github。

解決問題

1. 查看服務器的node版本

 "scripts": {
"preinstall": "node -p \\"[process.platform, process.arch, process.versions.modules].join('-')\\" ",
}

配置 preinstall 查看服務器的node版本信息

node-sass離線方式安裝

可以看到版本信息為: linux-64x-57 .

2. 下載node-sass

然後去Github上下載對象的node-sass版本,下載地址:https://github.com/sass/node-sass/releases

node-sass離線方式安裝

3. 配置離線信息

將對應的node下載後,放到前端項目裡面:

  1. 在項目里根目錄下新建lib文件夾
  2. 將下載的 linux-x64-57_binding.node 複製到lib中
  3. 配置package.json中,sass的離線配置
"nodeSassConfig": {
"binaryPath": "./lib/linux-x64-57_binding.node"
}

此時再在服務器上進行發佈前端項目,就可以看到node-sass的安裝不再會去請求github了。

結論

現在有的項目依賴管理工具如Maven, npm等等,在有外網環境的情況下,使用起來是非常方便的。但是如果脫離了互聯網,那將是開發者的噩夢,猶如回到了遠古時代。作為開發者,在用慣了打火機的年代,還是需要了解一下如何鑽木取火的。


分享到:


相關文章: