SharePoint Framework 基於團隊的開發(三)

Justin-Liu發表於2017-12-11

部落格地址:http://blog.csdn.net/FoxDave

用內部包進行開發

由於你的團隊在開發客戶端解決方案,你很可能構建通用程式碼庫來在專案中重用。在很多情況下這種庫包含的程式碼是內部所有的不對組織外公開的,在開發SPFx專案時,可以採用以下幾種方式來應用專案中的內部庫。

搭建私有包註冊源

在以前,許多組織構建.NET解決方案時會搭建私有NuGet庫來作為內部包的引用源地址。對於SPFx專案,它使用的是npm進行包管理,組織可以採用類似的私有註冊方式來承載他們的內部包。組織內的所有專案都可以引用組織內部開發的包。

在使用私有包註冊源時,組織可以選擇不同的承載供應方式,在雲上或者在組織內部。

使用私有包註冊源允許組織集中管理在不同專案中使用的公共程式碼。通過定義單獨的管理方案來確保程式碼庫的高質量以促進開發團隊的效率提升,而不是增加負擔並拖慢了專案。

使用Visual Studio Team Services或Team Foundation Server的組織可以方便地直接在VSTS/TFS中建立一個私有的npm註冊伺服器。當然,如果使用其他的原始碼控制系統,也可以使用其他方案來承載他們內部的包。雲上比較流行的是npm Enerprise。喜歡自己承載包註冊服務的組織可以選擇一些開源的解決方案如SinopiaVerdaccioNexus

將包使用nmp連結進行連結

使用私有註冊的一個可選方案是連結包。但是它不包括註冊,需要仔細協調所有的開發者機器和構建伺服器。

首先,每個開發者必須拷貝共享包到他們的機器。他們需要在命令列將路徑切換到共享包的路徑然後執行npm link命令。該命令會註冊指定的包為該開發環境的全域性包。接下來開發者需要將路徑切換回專案所在路徑,通過執行npm install <shared_package> --save命令來安裝該包。

再強調一遍,這種方式必須在所有開發者機器和構建伺服器使用npm link命令執行,否則就會出現問題。

在開發早期,同時開發共享包和專案的時候,引用連結包這種方式非常有幫助。通過這種方式你就不需要在註冊源伺服器上釋出包的新版本以在你的專案中使用最新的程式碼。但是這樣有一個風險需要注意,如果開發者在本地引用了某個庫的一個版本而沒有提交到原始碼控制系統,會使團隊中其他人編譯失敗。

私有包註冊源和包連結的聯合

包連結可以跟私有註冊源結合使用。例如這樣的場景:開發者引用連結的包,構建伺服器從私有註冊源獲取共享庫。從專案角度看沒有任何變化:package.json檔案中的包引用資訊可以被連結的包和私有包註冊源解析。要注意記得在執行編譯前將最新的更改釋出到私有包註冊源的共享庫。

由於共享庫的程式碼使長久以來逐漸穩定下來且很少有改動的,開發者更傾向於從私有包註冊源引用釋出的包。

相關文章