博客地址: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 基于团队的开发(五)的更多相关文章

  1. SharePoint Framework 基于团队的开发(二)

    博客地址:http://blog.csdn.net/FoxDave 本篇介绍SPFx项目的一般开发流程.SharePoint Framework基于开源的工具链,也遵循开源技术栈中其他项目的开发流程. ...

  2. SharePoint Framework 基于团队的开发(四)

    博客地址:http://blog.csdn.net/FoxDave 确保代码一致性和质量 软件开发团队常常同项目的一致性和高质量做斗争.不同的开发者有不同的编码风格和偏好.在每个团队都有技术优秀的独立 ...

  3. SharePoint Framework 基于团队的开发(一)

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gu ...

  4. SharePoint Framework 基于团队的开发(三)

    博客地址:http://blog.csdn.net/FoxDave 用内部包进行开发 由于你的团队在开发客户端解决方案,你很可能构建通用代码库来在项目中重用.在很多情况下这种库包含的代码是内部所有的不 ...

  5. SharePoint Framework 开发工具和库

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework包含一些客户端JavaScript库,你可以用来构建自己的解决方案.本文提供了你可以用来 ...

  6. 深入浅出Docker(五):基于Fig搭建开发环境

    概述 在搭建开发环境时,我们都希望搭建过程能够简单,并且一劳永逸,其他的同事可以复用已经搭建好的开发环境以节省开发时间.而在搭建开发环境时,我们经常会被复杂的配置以及重复的下载安装所困扰.在Docke ...

  7. Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架

    最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...

  8. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

  9. SharePoint Framework (SPFx)安装配置以及开发-基础篇

    前言 SharePoint Framework(SPFx),是页面 和Webpart的模型,完全支持本地开发(即完全可以脱离SharPoint环境在本地进行开发),SPFx包含了一系列的client- ...

随机推荐

  1. node使用ftp模块获取文件夹信息,中文乱码问题

    c.on('ready', function () { c.list(function (err, list) { if (err) throw err list.map(item => { i ...

  2. Unity3D|-使用ScriptableObject脚本化对象来制作一个简单的对象池

    ScriptableObject是一个用于生成单独Asset的结构.同时,它也能被称为是Unity中用于处理序列化的结构. 可以作为我们存储资源数据的有效方案.同时此资源可以作为我们AB包的有效资源! ...

  3. ORM的概念

  4. og协议-有利于SNS网站分享

    一丶前言 全球快递toWhere官网发现使用og协议,并且支付宝和淘宝活动源码也会添加og协议,查阅资料弄清og协议是什么,此刻附上og协议官方文档 一丶什么是og协议 Open Graph通讯协定( ...

  5. Nginx配置文件及模块解析

    一.Nginx是什么? Nginx是一个基于c语言开发的高性能http服务器及反向代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu.内 ...

  6. 16、for-of循环

    forEach不支持break for-in把数组当做对象来遍历,但是只能遍历出索引值 for-of循环可以遍历出数组的每一项值,支持break 1.for-in示范: 2.for-of示范 3.fo ...

  7. gitlab安装随记

    gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...

  8. fetch跨域浏览器请求头待研究

    fetch('https://wwww.baidu.com', {headers: { "Access-Control-Allow-Origin": "*", ...

  9. 第二课 --- git的(管理修改和撤销修改、删除文件)

    读取文本内容: cat readme.txt 查看工作区与脚本库里面的区别: git diff HEAD -- readme.txt 丢弃工作区的修改内容: git checkout -- readm ...

  10. PHP7.X连接SQLSERVER数据库(CENTOS7)

    加入微软的源 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlreleas ...