博客地址:http://blog.csdn.net/FoxDave

SharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gulp、webpack等进行编译。这带来的最大优势是任何开发平台的开发者都可以参与SharePoint自定制的开发。

SharePoint Framework由一些不同的包组成,这些包有各自的版本。例如GA版的SPFx由以下包组成:

  • @microsoft/sp-client-base v1.0.0
  • @microsoft/sp-core-library v1.0.0
  • @microsoft/sp-webpart-base v1.0.0
  • @microsoft/sp-build-web v1.0.0
  • @microsoft/sp-module-interfaces v1.0.0
  • @microsoft/sp-webpart-workbench v1.0.0
所以在项目开发中我们需要注意这些包是否引用到了我们要使用的正确的版本。在搭建新项目时,Yeoman生成器会从当前SPFx发布版本中自动向包添加必要的引用,主要需要注意的是在更新时,每个包的版本是否有变化。
准备开发环境
关于开发环境的搭建部分,前面的文章已经介绍了,在此不再赘述。
构建SPFx开发环境
这里所说的环境不包含之前提到的安装组件部分,而是从整体上阐述开发环境应该是什么样子的,可以在哪些地方进行开发。
在过去,SharePoint开发者经常使用虚拟机作为他们的开发环境,他们在上面进行开发调试工作,以确保解决方案可以为特定的组织使用。开发者们会在他们的虚拟机上搭建SharePoint环境,安装SharePoint和补丁以保持和生产环境的一致。有些时候他们也会安装额外的软件来尽可能地匹配目标环境。
转到开发云解决方案之后,开发者不再需要在他们的开发机上运行SharePoint场环境,只需要云环境的账号并了解如何跟SharePoint交互就可以了。
SPFx专注于客户端开发,再也不需要在开发机上安装SharePoint环境了。项目需要的依赖框架和包都包含在了项目文件夹中,由项目指定。需要说明的是,SPFx更新很快,开发者必须确保使用的工具链和SPFx的版本是相一致的,上一篇也强调过这个问题。
共享的或个人的开发环境
SharePoint自定制范围从直接向页面添加简单的脚本到复杂的解决方案包。SPFx是专注于结构化和可复用的SharePoint自定制开发模型。在构建SPFx解决方案时,团队里的每名开发者使用他们自己的环境,通过源码控制系统进行代码共享以协同开发互不影响。
同时,进行SPFx开发降低了成本,可开发者可以使用市场标准的开发机器来构建SharePoint自定制解决方案;而不像传统的方式可能需要有跟生产环境一样消耗的开发机。
在宿主机器上开发
可能最简单的选项就是在宿主机器上配置SPFx开发环境,即直接在宿主机器上安装所有的工具和组件。如果你的团队只开发SPFx相关的项目,他们可以在自己的机器上安装Node.js;如果他们也开发其他的Node.js项目,那么他们可以使用第三方解决方案如nvm来运行多版本的Node.js。
在进行SPFx开发时,开发者会安装Yeoman和SharePoint Framework Yeoman generator,通常这两个工具是全局安装的,且随着SPFx的更新而更新。这样在更新SPFx时,他们不得不卸载当前版本去安装新的版本。更可行的方法是全局安装Yeoman,但是在本地既定的项目上安装generator。
在宿主机器上开发的好处是软件直接在上面运行,可以直接访问CPU、内存和磁盘I/O,得到了更好的性能。
在虚拟机中开发
在过去最常见的SharePoint开发者开发SharePoint相关解决方案的方式就是使用虚拟机,开发SPFx解决方案时也可以采用这种方式。但是使用虚拟机并不是没有弊端。虚拟机一般都很大,且需要使用强大的机器进行承载以达到期望的性能。而且,维护的成本也很高,开发者必须对自己的虚拟机进行持续的系统更新,安装不要的补丁。在一个团队中,很难保证团队所有成员的所有虚拟机是一致的。从这个角度考虑的话,使用虚拟机来开发SPFx解决方案很昂贵,开销大且时间长。
使用Docker开发
介于在宿主机器开发和在虚拟机开发的中间地带,我们也可以使用Docker进行开发。这里笔者不会过多地对Docker进行解释,它是一个跟虚拟机类似的软件虚拟化技术,但是有一些区别。使用Docker镜像最大的优势是它比虚拟机更容易创建、维护和分发,它们更加轻量级(一般只有几百M),并且开发者可以在Docker中使用宿主机器中安装的工具。
Docker容器运行了一个操作系统的虚拟实例(基于Linux)。用镜像创建的容器中的所有软件都是在容器中独立运行的,只能够访问宿主机器共享给容器的文件系统。在容器关闭时,所有在容器内对文件系统的更改都会被丢弃。
更多信息可以戳这里。

SharePoint Framework 基于团队的开发(一)相关推荐

  1. SharePoint Framework开发基础教程

    SharePoint Framework开发基础教程-170人已学习 课程介绍         SharePoint Framework是微软推出的针对SharePoint的前端开发框架,本课程将详细 ...

  2. Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)

    转:http://blog.csdn.net/mattwin/article/details/2074984 WSSv3 Technical Articles_Windows SharePoint S ...

  3. SharePoint Framework 简介

    作者:陈希章 发表于 2017年12月25日 前言 通过前面几篇文章,我相信大家对于SharePoint Online的开发有了更加全面的认识,上一篇 介绍的SharePoint Add-in的开发, ...

  4. 解密中国研发团队如何开发VS2010新特性

    Visual Studio 2010的全球发布,让中国的开发者们明显的感觉了它的"中国血统".在这个带有颠覆性的新版本中,有将近1/3的功能都是由中国的研发团队开发完成的.微软公司 ...

  5. WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 2 of 2)

    WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 2 of 2) 摘要:研究Windows SharePoi ...

  6. SharePoint Framework 1.15.2 发布,包含 Viva 连接、Microsoft Teams 和 SharePoint 的更新

    微软近日宣布了 SharePoint Framework 1.15.2 版本的更新,包括了针对 Microsoft Viva.Microsoft Teams 和 SharePoint 的新特性.功能和 ...

  7. 为什么您应该使用基于标准的开发实践

    为什么您应该使用基于标准的开发实践 Why you should use standards-based development practices (even if you don't have t ...

  8. 应用基于资产的开发到 SOA 的服务中1

    SOA 的主要原则之一是在整个 SOA 生命周期中将服务视为可重用资产.因此,务必在 SOA 中对服务应用正式的资产开发流程和指南.本文可帮助 IT 架构师.项目经理和 SOA 管理员全面了解一些主要 ...

  9. 使用leangoo做多团队敏捷开发项目管理

    概述 多团队敏捷开发主要是指多个Scrum团队/敏捷团队开发同一款大型产品或大型项目的敏捷开发. 适用场景 适用于多个团队进行大规模敏捷开发协作.Leangoo基于多团队大规模敏捷开发需求,也提供了可 ...

最新文章

  1. SOLO: 按位置分割对象
  2. 根据XML配置规则导入Excel数据(⑥)ExcelAble 标记接口
  3. iOS编程(双语版) - 视图 - 基本概念
  4. 写给Lewis的-URL处理几个关键的函数parse_url、parse_str与http_build_query
  5. RHEL6基础之十八Linux中Kill进程的方法
  6. mysql集群数据引擎_MySQL数据引擎
  7. 一文弄懂java中的Queue家族
  8. CPU、GPU、FPGA、ASIC等AI芯片特性及对比
  9. php实现注销功能,laravel 实现用户登录注销并限制功能
  10. python获取Linux信息
  11. DAC+DMA+TIM实现音频播放问题记录
  12. Java内存解析 程序的执行过程
  13. Ubuntu中ls之后文件的颜色含义
  14. 多台计算机使用一个硬盘,怎么实现多台电脑共用一块硬盘
  15. 微信小程序background-img问题
  16. UBI,MTD(Memory Technology Device),raw flash,emmc,Flash,Block Device
  17. NumPy科学计算库-学习笔记
  18. freerdp 解压安装_Linux下安装FreeRDP,连接Windows远程桌面好软件软件.doc
  19. vulnhub之hacksudo FOG
  20. 图像旋转的点坐标映射公式汇总

热门文章

  1. 无主之地kill ajax,阿克斯顿 - 无主之地中文维基 - 灰机wiki
  2. 漂流瓶html5,微信又搞事情?漂流瓶下线,居然还有这些新功能...
  3. python转移矩阵_使用Python / Numpy中的单词构建转换矩阵
  4. npm 查看登陆账号_自定义npm 及问题整理
  5. matlab求数的因子,matlab中因子分析的函数factoran如何使用??
  6. matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件
  7. java单链表选票_Hackerrank Practice
  8. 虚拟机下载和使用说明
  9. mysql:分组中某字段最大值的查询结果
  10. php post提交 java接收,asp如何接收php或java提交post过来的json数据