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

Justin-Liu發表於2017-12-25

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

升級SharePoint Framework專案

部署SharePoint自定製解決方案到生產環境並不意味著生命週期的結束,因為還有有新的需求或變更。在升級專案時需要考慮以下一些事情。

語義化版本(SemVer)

SPFx專案使用SemVer來跟蹤版本號,其實就是我們通常所說的版本,如1.0.1,它由三部分組成:主要版本.次要版本.補丁。對於SPFx專案來說,由如下約定:

主要版本:修改不是向下相容的

次要版本:新增向下相容的新功能

補丁:向下相容的bug修復

關於SemVer的更多資訊可以戳這裡

增長版本號

在升級SPFx解決方案時,開發者應該提升所修改部分的版本號來表明是哪個部分進行了修改。

>增長package.json檔案中的包版本

SPFx包的結構跟Node.js包類似,它的依賴關係和後設資料儲存在專案資料夾的package.json檔案中,其中就有一個version屬性來表示整個專案的版本號。預設情況下,解決方案中的所有元件都繼承這個版本。開發者在每次釋出新版本時應該修改這個屬性。

>增長package-solution.json檔案中的包版本

SPFx解決方案使用.sppkg檔案進行部署,該檔案安裝在SharePoint中的應用程式目錄網站上。.sppkg檔案跟SharePoint add-in包類似,將四段版本號(主版本.次版本.修訂版本.編譯版本)儲存在config/package-solution.json檔案中。為了清晰可見,開發者應該保持該版本和package.json檔案的版本同步。

更新依賴引用

試想如果Angular釋出了一個新版本,修復了bug並提升了效能,這時我們就需要更新我們的專案了。更新時使用命令nmp install <package>@<version> --save。注意不要手動修改package.json檔案中依賴引用的版本號,這會帶來不必要的麻煩和不好排插的錯誤。

>注意專案結構的變更

有時專案的升級可能會帶來結構的變更和配置檔案的變更。通常在更新專案之前,如果碰到這種情況就一定要好好比對,避免專案出現損壞。

>謹防使用npm outdated命令

找出專案中哪些依賴引用需要升級的方法之一是執行npm outdated命令。該命令會掃描你的依賴引用樹並提示哪個包可以升級,很方便的命令,但是我們需要小心使用。

從舉個例子。版本1.3開始,SharePoint Framework Yeoman生成器允許開發者在建立時選擇專案是隻在Online上執行還是Onpremise上也要執行。但是SharePoint本地的SPFx要比Online的舊,這時如果在一個需要相容本地的專案上使用npm outdated命令,它會提示你升級到最新版本。然而,這樣你的專案就無法在本地執行了。

以釋出模式編譯和打包專案

一旦專案通過測試,可以使用gulp bundle --ship命令以release模式編譯專案。然後使用gulp package-solution --ship命令打包。注意在打包之前一定要先執行編譯命令,否則包裡會包含舊版本的內容。

部署解決方案的新版本

編譯打包專案之後的下一步就是部署了。首先部署專案中./temp/deploy資料夾裡的web部件bundle,再發布解決方案之前版本的其他檔案。注意暫時不要將舊版解決方案的內容移除,因為可能會有正在使用的。每個版本的bundle檔案都有唯一的名稱,移除先前版本後再升級web部件會損壞當前正在使用的那些。

最後部署新的解決方案包到SharePoint應用程式目錄。

相關文章