博客地址:http://blog.csdn.net/FoxDave
使用外部脚本
在使用现有的JavaScript脚本库时,开发者可以选择将它们包含在web部件代码包中,或者从外部的URL加载。从外部的URL加载这些库可以优化SPFx解决方案的性能。由于库时从外部URL加载的,它们不需要包含在web部件包中,这减小了它的大小以使它加载得更快。并且,在整个租户内引用相同的库,SPFx解决方案通过重用之前缓存到本地的脚本库而加载得更快。
在哪加载库并没有限制,但是对于知道从哪些服务器加载它们很重要。跟web部件代码一起,这些脚本也运行在当前用户的上下文,同样能执行当前用户的权限操作。因此,前提就是你信任这些脚本,相信它们是安全的。一些企业对于公共CDN上的资源有脚本策略,你应该确保你开发的解决方案以及附带的资源满足这些策略。
批准SPFx解决方案的开发
SPFx解决方案被部署在SharePoint Online租户的应用程序目录中。你的企业应该对于谁可以部署和批准SPFx包有一个明确的规划,这是很重要的,因为这也意味着谁对验证这些部署到企业云环境里的包负责,确保它们安全并满足企业的策略。SPFx解决方案跟SharePoint Add-ins不一样,它运行在当前用户的上下文中,跟当前用户有一样的权限。因此在部署SPFx解决方案包之前,应该仔细验证它的来源等相关信息以确保它是安全的。
为了验证SPFx解决方案包是否满足你企业的策略,你需要检查要部署的.sppkg包的内容和所引用的脚本的内容和承载它们的位置。上述步骤可以手动进行,也可以借助第三方工具。SharePoint Customization Analysis Framework (SPCAF)就是其中的一个第三方工具,它提供了分析SPFx解决方案内容并验证它们是否满足你的企业的安全性和管理需求。
SPFx解决方案和无脚本网站
在Office 365中,企业可以使用无脚本设置来禁用在SharePoint Online中基于脚本的自定制。企业可以在整个租户范围内或者是一个特定的网站集上禁用无脚本设置。基于企业的策略,管理员可以使用无脚本设置来禁用自定制比如使用脚本编辑器web部件或用户自定义操作。
无脚本设置意味着企业启用了一个额外的层来控制和保护整个租户或特定的网站集。使用嵌入式脚本自定制SharePoint并不是没有风险,特别是在包含敏感信息的网站应用之前需要好好评估。
在以前,开发者使用嵌入式脚本技术来构建强大的SharePoint自定制。在一些情况下,这些自定制依靠特定的页面结构,如果特定的自定制发生了变更,就会出现问题导致不能正常工作。为了指导开发者构建更强壮的解决方案,SharePoint工程师团队决定所有的现代化网站都应该启用无脚本设置。这意味着嵌入式脚本不能存在于这些网站上,所以使用SPFx是当前唯一的选项来自定制这些网站。在未来,所有的现代化网站会使用无脚本设置和嵌入式脚本两种选项来帮助开发者有更多的选项来支持不同的场景。