关于SPFx解决方案部署方式的总结

本文总结了SPFx解决方案的部署方式以及在部署前需要考虑的问题。

首先考虑打包,SPFx提供了两种打包方式,一种是在.sppkg文件中包含代码,一种是不包含代码。这个可以在配置文件“package-solution.json"中指定:

"includeClientSideAssets": true,  //true为包含代码,false为不包含代码

1,包含代码 主要用于Office CDN,方便开发和快速验证,但是只能将代码部署到Office CDN上,不够灵活

2,代码分离 主要的部署方式,可以灵活选择代码部署位置。代码部署位置在配置文件“write-manifests.json”中指定:

"cdnBasePath": "https://contoso.sharepoint.com/.../"

然后考虑三种部署方式
1,最方便快捷:Office CDN方式,这种方式由于.sppkg文件中包含代码,因此不需要指定代码部署位置,直接将.sppkg包上传到App Catalog中即可使用,因此最方便快捷。

2,部署在SharePoint Online中。可以将代码位置指定为某个文档库,这样可以将你的代码限制在某个站点,并且可以控制访问权限。这种方式,.sppkg文件中不含代码,因此需要额外将代码文件上传到文档库。

3,部署在其他位置,这里可以是其他CDN或者任何可以通过网络访问到的地方。与第二种方式一样,这种方式也需要额外部署代码,但是需要自己控制访问代码的权限。

最后考虑把.sppkg包放在哪里。

.sppkg包只能上传到App Catalog中。目前SharePoint Online支持两种级别的App Catalog,一种是整个租户Tenant的App Catalog,一种是站点集Site Collection级别的App Catalog:

站点集的App Catalog: 需要Tenant管理员执行powershell命令启用才能使用。启用后自动创建App Catalog文档库。部署在站点集级别App Catalog中的解决方案仅能在当前Site Collection中使用。(注意此种方式不支持Isolated web part的部署,Isolated web part的解决方案只能部署在Tenant App Catalog中)。

启用站点集App Catalog的命令为:

# get a reference to the site collection where the
# site collection app catalog should be created
$site = Get-SPOSite https://contoso.sharepoint.com/sites/marketing

# create site collection app catalog
Add-SPOSiteCollectionAppCatalog -Site $site

Tenant App Catalog:需要Tenant管理员创建App Catalog站点,其中部署的解决方案可以在整个租户中使用。

另外,如果解决方案中需要调用Graph API,就涉及到对于Graph API的权限的审批。

Graph API权限的批准:

普通web part:所请求的API一经批准,租户中所有的App都可以使用。

Isolated web part: 所请求的API一经批准,只有请求权限的这个App可以使用,但是可以在任意的站点中使用。

发布了189 篇原创文章 · 获赞 15 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/shrenk/article/details/96851044
今日推荐