SharePoint 框架 v1.5 发行说明

关键的变化是引入了新的 plusbeta 模型和许多其他改进和附加功能。

发布日期:2018 年 6 月 5 日

重要

此页面提供与特定 SPFx 发行版本相关的详细信息。 此页面不包含开发 SPFx 解决方案(包括 SPFx Node.js、Yeoman 和其他工具)而必须安装的其他 SPFx 必备组件。

若要了解有关这些必备组件的详细信息,请参阅设置 SharePoint 框架开发环境

将项目从 v1.4.1 升级到 v1.5

  1. 在项目的 package.json 文件中,识别所有 SPFx v1.4.1 程序包。 对于每个 SPFx 程序包:

    1. 卸载现有的 v1.4.1 程序包:

      npm uninstall @microsoft/{spfx-package-name}@1.4.1
      
    2. 安装刷新后的 v1.5 程序包:

      npm install @microsoft/{spfx-package-name}@1.5.0 --save --save-exact
      
  2. 安装以下 TypeScript 类型声明程序包:

    npm install **\@types/webpack-env@1.13.1
    npm install **\@types/es6-promise@0.0.33
    
  3. 将以下条目添加到 tsconfig 文件中的 types 数组:

    {
      // omitted for brevity
      "types": [
        // omitted for brevity
        "webpack-env",
        "es6-promise"
      ]
      // omitted for brevity
    }
    

提示

适用于 Microsoft 365 的 CLI 提供了一个简单的分步指南,可用于将你的解决方案升级到最新 SharePoint 框架版本。

新增特性和功能

Ship vs. Beta API 现在是单独的程序包

从 v1.5.0 版本开始,包将仅包含 *.d.ts 文件中的最终公共 API。 将删除所有的 beta API,并且需要显式选择包含 beta API 的程序包。 若要使用这些 beta API,需使用 1.5.0 _ plusbeta 版本的程序包。 @microsoft/generator-sharepoint 只有一个版本,它可以创建 beta 版和非 beta 版解决方案。

可通过以下两种方式创建使用 beta API 的解决方案。 你可运行 yeoman 生成器并在命令行中添加 -plusbeta 标记,这将创建-plusbeta 版本的 package.json 文件,或者你可以更新 package.json 中的引用,以使用 -plusbeta 版本。

这与一般的方法不同,因为在有些情况下,beta 中偶尔会出现完整的程序包,而现有的 ship 程序包中也经常出现某些 beta API。 此外,它不一定是下一个版本的 beta 版本,因为功能可能会在预览中保留多个版本。

动态数据(开发人员预览版)

此版本的主要部分是动态数据的开发人员预览版。 可将其视为传统页面中的 Web 部件连接 功能的新式版本。

此功能的最终目标是允许开发人员和用户具有更动态的属性,并且可绑定到其他 web 部件中的属性(假设用户卡由文档库 web 部件中的当前所选文档所驱动)、页面状态(用户卡片显示作者),甚至页面上下文(用户卡片显示当前用户)。

此开发人员预览版主要针对基础数据模型。 目前没有公开属性的第一方 web 部件。 我们有一个示例页面上下文对象和一个粗略的(面向开发人员)属性窗格控件,可在其中键入要将 web 部件属性绑定到的动态属性的路径。

我们仍在致力于实现最终用户体验,但希望开发人员在此期间试用。 可从以下位置查找教程和示例:

对其他包管理器的支持 (Yarn & PNPM)

Yeoman 生成器和编译工具现支持 PNPM 和 Yarn 程序包管理器和 npm

若要使用此功能,可食用生成器中的 --package-manager 命令行选项,并可指定 npm、**pnpm 或 yarn

例如:

yo @microsoft/sharepoint --package-manager pnpm

支持自定义 Yeoman 生成器

我们重新设计了生成器以符合最佳做法。 这将允许你使用我们的生成器自定义自己的生成器。 我们将在 SharePoint 开发人员社区 (PnP) 对此发起新的开放源代码计划,以提供 Angular Elements 和 Vue.js 等新的支持的平台。

本版本中的更改

许多对框架的更新实际上不需要更新 npm 程序包。 例如,我们已删除 Web API 开发人员预览版的初始发布中的身份验证弹出窗口,但该更改将向托管于该服务的框架推出,因此不需要对开发人员进行任何更改。

已有一些更新明确要求程序包更新:

  • 已将 AAD 信息添加到 PageContext (aadInfo)
  • 修复了sp-dialog 和其他程序包在工作台中不能正常工作的问题
  • 从 tslint-microsoft-config 中添加 10 个额外的 tslint 规则,以检测常见安全漏洞
  • 修复了 package-solution 中警告导致编译错误地失败的问题