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

简介: 博客地址:http://blog.csdn.net/FoxDaveSharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gulp、webpack等进行编译。

博客地址: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)。用镜像创建的容器中的所有软件都是在容器中独立运行的,只能够访问宿主机器共享给容器的文件系统。在容器关闭时,所有在容器内对文件系统的更改都会被丢弃。
更多信息可以戳这里

相关文章
|
IDE 关系型数据库 MySQL
SSLHandshakeException: No appropriate protocol
SSLHandshakeException: No appropriate protocol 最近 很多 询问关于 DataGrip或其他JetBrains`家IDE的MySQL数据库配置中报错的问题。具体的报错信息大概是这样的:
2153 0
|
9月前
|
人工智能 自然语言处理 搜索推荐
你用过最好用的AI工具是什么?
2023年AI革命风起云涌,众多产品令人振奋。我体验了OpenAI的ChatGPT、微软New Bing、Anthropic Claude等多款AI产品。特别推荐微软New Bing,它集成了强大的搜索引擎和语言模型,回答问题精准,提供最新信息,还能免费进行创意绘图。此外,New Bing还集成了Copilot网页助手,帮助用户高效提取和总结内容。
397 27
你用过最好用的AI工具是什么?
|
人工智能 自动驾驶 算法
探索未来:人工智能如何改变我们的生活
在这篇文章中,我们将深入探讨人工智能(AI)如何正在改变我们的生活。从自动驾驶汽车到智能家居,从虚拟助手到医疗诊断,AI的应用已经深入到我们生活的方方面面。我们将通过具体的例子和数据,展示AI的潜力和挑战,以及它如何影响我们的工作、学习和娱乐。最后,我们将提出一个开放性问题,引发读者对未来AI发展的思考。
384 32
|
开发框架 监控 Java
【.NET Core】多线程之线程池(ThreadPool)详解(二)
【.NET Core】多线程之线程池(ThreadPool)详解(二)
267 3
|
11月前
TIA/EIA 568A 和 TIA/EIA-568B 标准详解
【10月更文挑战第14天】
2087 0
|
搜索推荐 关系型数据库 MySQL
MySQL 模糊查询新纪元:超越 LIKE+% 的高效探索
在数据库的日常操作中,模糊查询是一项不可或缺的功能,它允许我们根据不完全匹配的关键字来检索数据。传统上,MySQL 使用 LIKE 关键字配合 % 通配符来实现这一功能,虽然灵活但性能上往往不尽如人意,尤其是在处理大型数据集时。今天,我们将一起探索几种超越 LIKE+% 的模糊查询技术,以提升查询效率与用户体验。
645 2
|
监控 安全 Linux
Linux命令truss详解:系统调用跟踪的利器
`truss`(或`strace`)是Linux调试利器,用于跟踪系统调用和信号。它帮助开发者优化性能、调试错误和进行安全审计。通过附加到进程,记录调用细节、参数、返回值和错误。使用参数如`-d`显示调试信息,`-e`跟踪特定调用,`-o`输出到文件,`-p`跟踪指定进程。注意其对性能的影响,通常需要root权限,并建议过滤输出和结合其他工具分析。
|
存储 关系型数据库 MySQL
linux安装MySQL8.0,密码修改权限配置等常规操作详解
linux安装MySQL8.0,密码修改权限配置等常规操作详解
517 0
【分享】宜搭快捷复制组件fieldId插件\方法
开发过程中需要频繁复制组件的 fieldId 时 by 页一
1292 1
【分享】宜搭快捷复制组件fieldId插件\方法
|
SQL 存储 关系型数据库
41MyCat - 常见问题与解决方案
41MyCat - 常见问题与解决方案
509 0

热门文章

最新文章