SharePoint Framework 基於團隊的開發(五)
部落格地址: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應用程式目錄。
相關文章
- SharePoint Framework 基於團隊的開發(三)Framework
- SharePoint Framework 基於團隊的開發(二)Framework
- SharePoint Framework 基於團隊的開發(一)Framework
- SharePoint Framework 基於團隊的開發(四)Framework
- 基於團隊模式開發中介模組模式
- SharePointFramework基於團隊的開發(四)Framework
- SharePoint Framework 開發工具和庫Framework
- 開發團隊的效率
- SharePoint Framework 企業嚮導(五)Framework
- 4.24日團隊開發第五天
- laravel下的團隊開發Laravel
- [企業管理]關於最佳團隊、團隊融合程度和開發效率的引入對話
- CSS團隊精神:CSS最佳實踐團隊開發CSS
- git團隊開發流程Git
- SharePoint Framework 配置你的SharePoint客戶端web部件開發環境Framework客戶端Web開發環境
- 關於大搜車「無線開發中心」團隊
- 團隊軟體開發_基於windows下截圖軟體關於NABC框架的特點Windows框架
- 中小團隊基於Docker的devops實踐Dockerdev
- Git 團隊協同開發Git
- Github團隊開發示例(二)Github
- Github團隊開發示例(一)Github
- 高效團隊開發筆記筆記
- git團隊合作開發流程Git
- Wizard Framework:一個自己開發的基於Windows Forms的嚮導開發框架FrameworkWindowsORM框架
- 【Java】基礎_14_開發團隊排程系統Java
- 初探團隊基於session的探索性測試Session
- 敏捷開發從信任團隊開始敏捷
- 敏捷開發團隊,最喜歡的開發工具CORNERSTONE敏捷
- 敏捷開發團隊,最喜歡的開發工具 CORNERSTONE敏捷
- 【敏捷開發】Android團隊開發規範敏捷Android
- CSS最佳實踐團隊開發CSS
- Chromium團隊的安全開發核心準則
- SharePoint Framework 概述Framework
- 關於scrum團隊的理解Scrum
- 軟體工程團隊的基於領域的結構 - snaptravel軟體工程APT
- 遊戲開發原理——手遊開發團隊與成本遊戲開發
- 我和敏捷團隊的五個約定敏捷
- 前端資料模型Model,適用於多人團隊協作的開發模式前端模型模式