SharePoint Framework 开发工具和库
SharePoint Framework 包含多个可用于生成解决方案的客户端 JavaScript 库。 本文提供了可用于开发客户端 Web 部件的工具和库的概述。
TypeScript
TypeScript 是键入的 JavaScript 超集,编译为纯 JavaScript。 SharePoint 客户端开发工具使用 TypeScript 类、模块和接口生成。 可以使用这些工具来构建可靠的客户端 Web 部件。
若要开始使用 TypeScript,请参阅以下资源:
JavaScript 框架
可以选择多个 JavaScript 框架中的任意一个来开发客户端 Web 部件。 以下是一些最为热门的框架:
由于客户端 Web 部件为置于 SharePoint 页面的组件,我们建议选择一个支持类似组件模型的 JavaScript 框架。 轻量级框架(如 React、Handlebars 和 Angular 2)均支持组件模型,很适合构建客户端 Web 部件。
同时,我们建议查看 SharePoint PnP JavaScript 核心库,这是社区推动的针对在 SharePoint REST API 上提供便捷访问所做的努力。
节点包管理器 (npm)
SharePoint 客户端开发工具使用与 NuGet 类似的 npm 软件包管理器,以管理依赖项和其他所需的 JavaScript 帮助程序。 npm 通常是 Node.js 安装程序的一部分。
有关 npm 的详细信息,请参阅 npm 文档。
Node.js
Node.js 是承载和提供 JavaScript 代码的开放源代码、跨平台运行时环境。 可以使用以 JavaScript 编写的 Node.js 开发服务器端 Web 应用程序。 Node.js 生态系统与 npm 和 gulp 等任务运行程序紧密结合,以提供有效环境构建基于 JavaScript 的应用程序。 Node.js 类似于 IIS Express 或 IIS,但是包括简化客户端开发的工具。
有关 Node.js 的详细信息,请参阅以下内容:
gulp 任务运行程序
SharePoint 客户端开发工具使用 gulp 作为生成过程任务运行程序,以执行以下操作:
- 捆绑和缩小 JavaScript 与 CSS 文件。
- 在每次生成前运行工具以调用捆绑和缩小任务。
- 将 LESS 或 Sass 文件编译为 CSS。
- 将 TypeScript 文件编译为 JavaScript。
有关 gulp 的详细信息,请参阅以下内容:
Webpack
Webpack 是一个模块程序包,它采用 Web 部件文件和依赖项,并生成一个或多个 JavaScript 捆绑,以便为不同的方案加载不同的程序包。
开发工具链使用 Webpack 进行捆绑。 这便于你对模块以及其使用位置进行定义。 工具链还使用通用的模块加载器 SystemJS 来加载模块。 通过确保每个 Web 部件在其各自的命名空间中进行执行,有助于确定 Web 部件的范围。
有关 webpack 的详细信息,请参阅以下内容:
Yeoman 生成器
Yeoman 有助于启动新项目、指定最佳做法和工具,帮助你保持高效率。 框架中包含 Yeoman SharePoint 生成器,可用于启动新的客户端 Web 部件项目。
有关 Yeoman 的详细信息,请参阅以下内容:
以下是一些可以尝试的常见 Yeoman 生成器,具体取决于你选择的框架:
源代码编辑器
由于 SharePoint Framework 为客户端驱动型,因此你可以使用自己选择的 HTML/JavaScript 代码编辑器,例如:
SharePoint Framework 文档说明和示例中使用的是 Visual Studio Code。 Visual Studio Code 是 Microsoft 提供的轻型源代码编辑器,功能十分强大,可以在桌面上运行,适用于 Windows、Mac 和 Linux。 其中内置了对 JavaScript、TypeScript 和 Node.js 的支持,且生态系统中包含多种适用于其他语言(如 C++、C#、Python 和 PHP)和运行时的扩展。
SharePoint REST API
SharePoint Framework 提供与 SharePoint 体验的关键集成,并面向 Web 开发。 SharePoint REST API 使你能够与 SharePoint 和其他影响 Web 部件功能的工作负荷进行交互。
我们建议你熟悉以下 REST API 集:
模式和做法
Office 开发模式和做法 / SharePoint 模式和做法 (PnP) 倡议提供代码示例、模式和其他资源,以帮助你将现有解决方案转换为 SharePoint Framework。 请务必熟悉代码示例和通过 PnP 努力提供的指导。