概述
在實際的開發工做中,項目是採用先後端分離的。前端項目使用的是Angular框架(不是AngularJS)。經過官方提供的 Angular Cli能夠快速建立項目的腳手架。IDE也很好的集成了Angular Cli,開發組件、指令、Service等等就能夠經過功能菜單,方便簡潔。前端
Angular使用的npm的方式對項目進行管理的。npm命令能夠很方面的從npm庫中安裝依賴的類庫。實際開發時,操做是很是簡單的,由於開發電腦是連網的。可是,經過公司內部的持續集成工具,發佈Angular項目時,卻遇到了一個問題:Angular須要去github下載node-sass,npm中央庫中沒有該類庫!node
此時就須要經過離線的方式去安裝node-sass,避免npm去鏈接github。linux
解決問題
1. 查看服務器的node版本
"scripts": {
"preinstall": "node -p \"[process.platform, process.arch, process.versions.modules].join('-')\" ",
}
配置 preinstall
查看服務器的node版本信息
git
能夠看到版本信息爲: linux-64x-57
.github
2. 下載node-sass
而後去Github上下載對象的node-sass版本,下載地址:https://github.com/sass/node-sass/releases
npm
3. 配置離線信息
將對應的node下載後,放到前端項目裏面:json
在項目里根目錄下新建lib文件夾後端
將下載的
linux-x64-57_binding.node
複製到lib中sass配置package.json中,sass的離線配置服務器
"nodeSassConfig": {
"binaryPath": "./lib/linux-x64-57_binding.node"
}
此時再在服務器上進行發佈前端項目,就能夠看到node-sass的安裝再也不會去請求github了。
結論
如今有的項目依賴管理工具如Maven, npm等等,在有外網環境的狀況下,使用起來是很是方便的。可是若是脫離了互聯網,那將是開發者的噩夢,猶如回到了遠古時代。做爲開發者,在用慣了打火機的年代,仍是須要了解一下如何鑽木取火的。
本文分享自微信公衆號 - Java碼農(jarcoder)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。