什么是 fable-import-sp-pnp-js?
fable-import-sp-pnp-js 是一款用于编写 F# 性质的 SharePoint Framework (SPFx) 扩展的 npm 包。它提供了简单、可靠的 API,用于访问 SharePoint REST API,并能够与 pnpjs 库无缝集成。同时,fable-import-sp-pnp-js 还支持异步和类型注释,因此您可以更轻松地开发类型安全的 SPFx 应用。
准备工作
在开始使用 fable-import-sp-pnp-js 之前,您需要安装 F# 编程语言 和 .NET Core。确保您的计算机上已安装最新的稳定版本。
您还需要为 SharePoint Online 分配一个工作或个人帐户。如果您使用的是 SharePoint 2016 或近期的版本,请确保您的 SharePoint 服务器可以通过您的环境访问。
安装 fable-import-sp-pnp-js
在安装 fable-import-sp-pnp-js 之前,请确保您的计算机上已安装了 Node.js。
要安装 fable-import-sp-pnp-js,请在终端中运行以下命令:
npm i fable-import-sp-pnp-js --save-dev
开始使用 fable-import-sp-pnp-js
初始化 fable-import-sp-pnp-js
在新的 SPFx 项目中,您需要将 fable-import-sp-pnp-js 添加到您的应用中。运行以下命令:
dotnet new spfxwebpart --framework version --component-name "Your Component Name"
执行完上述命令后,您可以在项目文件中看到几个新文件和文件夹。此时,您需要打开项目的根目录,并执行以下命令:
npm i
安装完成后,您可以正确配置 TypeScript 和 Sass,并初始化您的项目,如下所示:
gulp trust-dev-cert gulp serve
配置 fable-import-sp-pnp-js
在您的项目中,导入以下包和模块:
open Fable.Import.SharePoint.PnPJS open Fable.Core.Async
启用 fable-import-sp-pnp-js 允许您与 SharePoint 通信。在 F# 中使用 fable-import-sp-pnp-js 库之前,您需要在 SharePoint Online 中创建一个新应用程序并生成一些身份验证值。
创建身份验证文件
在创建 fable-import-sp-pnp-js 身份验证文件之前,请确保您拥有访问 SharePoint Online 的应用程序。
- 打开 https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx 页面。
- 在应用程序标识符和秘密部分下,为应用程序提供一个名称。请注意,此处生成的 Value 可用于身份验证文件。
- 在回调 URL 部分下,输入 https://localhost。
- 单击创建。
在创建应用程序之后,您应该看到“应用程序 ID”和“秘密值”。请复制这些值,以备将来使用。
创建和使用身份验证文件
在您的 fable-import-sp-pnp-js 项目中,您需要创建一个新的 JSON 文件,其中包含 SharePoint 身份验证信息。
{ "clientId": "<YOUR-CLIENT-ID>", "clientSecret": "<YOUR-CLIENT-SECRET>", "realm": "<YOUR-REALM>", "siteUrl": "<YOUR-SITE-URL>", "grantType": "<YOUR-GRANT-TYPE>" }
将您的身份验证值添加到此文件中。
如果您的 fable-import-sp-pnp-js 库正确配置,则应用程序应该能够成功运行,并向 SharePoint Online 发送请求。
集成 fable-import-sp-pnp-js 和 pnpjs 库
fable-import-sp-pnp-js 库使与 SharePoint 的交互变得简单明了。但是,如果您的项目需要更复杂的操作,则需要使用 pnpjs 库。此时,您可以轻松地将两个库集成在一起,以便在 F# 中使用它们。
下面是一个示例,演示了如何使用 fable-import-sp-pnp-js 库运行基本的 pnpjs 函数:
let getSiteWebInfo url auth = let pnp = new Pnpjs(url, auth) Async.AwaitTask(pnp.Functions.Web.Get())
创建 SharePoint 列表
您的 fable-import-sp-pnp-js 应用可以自动生成 SharePoint 列表。在 F# 中运行以下命令即可。
let createList url auth listName = let pnp = new Pnpjs(url, auth) Async.AwaitTask(pnp.Functions.Web.Lists.GetByTitle(listName).Add())
总结
fable-import-sp-pnp-js 提供了在 F# 中编写 SPFx 应用程序所需的可靠和易于使用的接口。使用此 npm 包,您可以更快、更容易地开发 SharePoint 应用程序,并且能够直接与 pnpjs 库集成。在开发过程中,您还可以使用类型安全和异步功能,以便更好地管理您的代码。
如果您是一位 F# 开发人员,那么您可以从 fable-import-sp-pnp-js 中获得许多好处。通过使用这个强大的库,您可以更轻松地创建和管理 SharePoint 应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557a681e8991b448d4aae