SharePoint Framework (SPFx) v1.8发布了,来看一下1.8版本有什么新功能和变化。
新功能
- 支持开发Teams标签(SPFx development of Teams Tabs )
- 支持应用页面(App Pages)
- 支持域隔离web part (Web parts in Isolated Domains)
- 文档库组件预览版 Library Components (preview))
- 支持TypeScript 2.7, 2.9和3.x (Support for TypeScript 2.7, 2.9 and 3.x)
- 支持modern页面上的背景样式 (Support for Section background styling on modern pages)
- Deprecating legacy Fabric CSS consumption
其中新功能1,2,3在1.7版本中是preview的功能,虽然在1.8中正式发布了,但是仍有一些改动。下面详细看一下各个功能。
1. 支持开发Teams选项卡(SPFx development of Teams Tabs )
在SPFx 1.7版本中,这个还是preview功能,在之前的博客SharePoint Framework 1.7 新功能(三)快速开发Teams Tab选项卡 中曾经对这个功能做过介绍。使用SPFx开发Teams选项卡,实际上是开发一个运行在Teams环境中的webpart。当webpart运行在Teams环境中的时候,就可以使用webpart上下文中的team对象,来操作teams。相对于1.7版本,这个功能在1.8版本中有如下变化:
- 使用webpart的属性编辑器来初始化teams选项卡的配置。在添加Teams选项卡的时候需要用户配置选项卡,现在可以使用webpart的属性编辑器来定制和配置选项卡了。如下就是Teams选项卡的配置页面,是不是很熟悉?其实就是webpart的属性编辑器。
- 在 manifest文件中,可以通过“canUpdateConfiguration”这个属性来禁止用户配置标签页
- 新功能“Sync to Teams”,根据manifest中的配置,自动将一个web part转换为teams中的标签。在manifest文件中新添加了一个“supportedHosts"属性,默认的值是["SharePointWebPart"],如果需要运行在Teams中,需要添加一个新的值”TeamsTab",表示web part也会运行在Teams选项卡中:
这样在将webpart部署到App Catalog中之后,选择这个webpart,在Files Ribbon中会有一个“Sync to Teams"的按钮,使用这个按钮,可以自动将webpart转变为Teams选项卡
- 区域设置(locale)取决于当前Teams的区域设置
- 减少了Teams中支持web part运行的JavaScript的开销
参考文档:
- Building Microsoft Teams Tabs using SharePoint Framework
- Building Microsoft Teams tab using SharePoint Framework - Tutorial
- Create Microsoft Teams manifest manually for a web part and deploy it to Microsoft Teams
2. 支持应用页面(App Pages)
应用页面主要是为了在SPFx中实现SPA。应用页面中包含了一个大的webpart,但它的导航,样式等等与其他页面保持一致。
参考文档 : Using single part app pages in SharePoint Online
3. 支持域隔离web part (Web parts in Isolated Domains)
To be continue...
4.库组件预览版 Library Components (preview)
这个是一个对代码来讲非常有用的功能,可以在不同的组件之间复用代码,详细说明请参见:
SharePoint Framework v1.8新功能:使用库组件(Library Component)在webpart间共享代码
5.支持TypeScript 2.7, 2.9和3.x (Support for TypeScript 2.7, 2.9 and 3.x)
1.8版本开始,SPFx支持切换TypeScript版本了。1.8版本的tsconfig.json文件中添加了一个“extends”属性,默认的属性值为:
可以通过修改这个属性来切换TypeScript版本。目前支持的编译器列表为:https://www.npmjs.com/search?q=%40microsoft%2Frush-stack-compiler
6.支持modern页面上的背景样式 (Support for Section background styling on modern pages)
To be continue...
7.Deprecating legacy Fabric CSS consumption
To be continue...