前端離線開發指南

繆宇發表於2019-03-04

最近,由於我們的產品無法滿足客戶的某些需求,需要去客戶現場進行定製開發。

但客戶現場禁止聯網,只能把原始碼和工具拷貝過去。這樣問題就來了,我們專案基於 npm 線上包管理模式,所以就帶來了很多問題。

本文主要介紹如何搭建離線開發環境。

所需工具:

  • nodejs 安裝包
  • vscode 安裝包
  • vscode 外掛安裝包
  • yarn 安裝包
  • yarn 快取包
  • 專案原始碼包

準備(在有網的環境)

在官網下載 nodejs、vscode、yarn 安裝包。

vscode 擴充套件外掛

由於在 vscode 官網上找不到下載連結,需要拼接下載連結,以 prettier 外掛為例:

原始 url 地址:

https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
複製程式碼

${publisher} ${extension name} ${version} 為變數。

開啟 prettier 外掛頁面:

https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
複製程式碼

根據上面的 url 地址,提取出 itemName 的值 esbenp.prettier-vscode

將原始地址中 ${publisher} 替換成 esbenp${extension name} 替換成 prettier-vscode,在網頁中找到版本號為 1.6.1,將 ${version} 替換。

最終得到 prettier 的下載地址為:

https://esbenp.gallery.vsassets.io/_apis/public/gallery/publisher/esbenp/extension/prettier-vscode/1.6.0/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
複製程式碼

下載後,將檔名 Microsoft.VisualStudio.Services.VSIXPackage 修改為 prettier.vsix

下載其他外掛同理。

yarn 快取包

yarn 為你提供在離線模式下工作的能力。如果你在之前安裝過一個包,你可以不依賴網路連線再次安裝,這是前提。

首先刪除電腦上所有 yarn 安裝的快取:

yarn cache clean 
複製程式碼

開啟你的專案原始碼, 通過 yarn 命令安裝專案相關依賴(不使用全域性安裝,比如 webpack):

yarn
複製程式碼

安裝完成後,所有依賴會安裝到快取資料夾中。

獲取快取資料夾地址:

yarn cache dir
複製程式碼

將快取檔案壓縮,命名為 yarn_cache.zip。

自此,準備工作就完成了。

實施(在無網路環境)

依次安裝 nodejs, yarn, vscode。

安裝 vscode 外掛

以 prettier 外掛為例:

開啟 cmd,進入 prettier 所在的資料夾,執行:

code --install-extension prettier.vsix
複製程式碼

出現下面提示即安裝成功,重啟 vscode,安裝完成。

extension `prettier.vsix` was successful installed!
複製程式碼

其他外掛同理。

yarn 快取

開啟 cmd,進入專案所在資料夾,執行:

yarn cache dir # 獲取快取檔案地址
複製程式碼

將 yarn_cache.zip 解壓覆蓋至該檔案地址

啟動專案

在 vscode 開啟原始碼檔案,執行:

yarn
複製程式碼

此時 yarn 會從快取路徑中下載所有依賴。

現在你可以在一臺離線的電腦上愉快的開發了。

感謝閱讀!

相關文章