npm 包 fable-import-sp-pnp-js 使用教程

阅读时长 5 分钟读完

什么是 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,请在终端中运行以下命令:

开始使用 fable-import-sp-pnp-js

初始化 fable-import-sp-pnp-js

在新的 SPFx 项目中,您需要将 fable-import-sp-pnp-js 添加到您的应用中。运行以下命令:

执行完上述命令后,您可以在项目文件中看到几个新文件和文件夹。此时,您需要打开项目的根目录,并执行以下命令:

安装完成后,您可以正确配置 TypeScript 和 Sass,并初始化您的项目,如下所示:

配置 fable-import-sp-pnp-js

在您的项目中,导入以下包和模块:

启用 fable-import-sp-pnp-js 允许您与 SharePoint 通信。在 F# 中使用 fable-import-sp-pnp-js 库之前,您需要在 SharePoint Online 中创建一个新应用程序并生成一些身份验证值。

创建身份验证文件

在创建 fable-import-sp-pnp-js 身份验证文件之前,请确保您拥有访问 SharePoint Online 的应用程序。

  1. 打开 https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx 页面。
  2. 在应用程序标识符和秘密部分下,为应用程序提供一个名称。请注意,此处生成的 Value 可用于身份验证文件。
  3. 在回调 URL 部分下,输入 https://localhost。
  4. 单击创建。

在创建应用程序之后,您应该看到“应用程序 ID”和“秘密值”。请复制这些值,以备将来使用。

创建和使用身份验证文件

在您的 fable-import-sp-pnp-js 项目中,您需要创建一个新的 JSON 文件,其中包含 SharePoint 身份验证信息。

将您的身份验证值添加到此文件中。

如果您的 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 函数:

创建 SharePoint 列表

您的 fable-import-sp-pnp-js 应用可以自动生成 SharePoint 列表。在 F# 中运行以下命令即可。

总结

fable-import-sp-pnp-js 提供了在 F# 中编写 SPFx 应用程序所需的可靠和易于使用的接口。使用此 npm 包,您可以更快、更容易地开发 SharePoint 应用程序,并且能够直接与 pnpjs 库集成。在开发过程中,您还可以使用类型安全和异步功能,以便更好地管理您的代码。

如果您是一位 F# 开发人员,那么您可以从 fable-import-sp-pnp-js 中获得许多好处。通过使用这个强大的库,您可以更轻松地创建和管理 SharePoint 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557a681e8991b448d4aae

纠错
反馈