配置 PnP 预配引擎

有时,你并不想从网站中提取所有项目,或是仅仅想提取特定列表。 为此,PnP 预配引擎使用了 JSON 格式的配置文件,它让你能够精细控制该过程。

提取配置

https://aka.ms/sppnp-extract-configuration-schema 处提供了一个 JSON 架构。 如果有新功能可用,我们会将该 URL 引用的架构自动更新到更高版本。

如果使用 Visual Studio Code 等新式编辑器创建了一个 JSON 文件,并引用了此架构,则会显示可设置的所有属性的智能感知和描述。

让我们来看看下面的示例配置

{
  "$schema":"https://aka.ms/sppnp-extract-configuration-schema",
  "handlers": [
    "Lists",
    "WebSettings",
    "Pages"
  ]
}

这将指示引擎仅提取列表、Web 设置(其中包括标题和徽标等)和主页。

对于某些处理程序,我们可指定更详细的配置选项:

{
  "$schema":"https://aka.ms/sppnp-extract-configuration-schema",
  "persistAssetFiles": true,
  "handlers": [
    "Lists",
    "WebSettings",
    "Pages"
  ],
  "lists": {
    "lists": [
      {
        "title": "My Test List",
        "includeItems": true,
        "query": {
          "includeAttachments": true
        }
      }
    ]
  },
  "pages": {
    "includeAllClientSidePages": true
  }
}

通过上述配置,我们将列表提取操作限制为仅包含名为“我的测试列表”的列表。 我们将告诉引擎我们想要将列表项导出到模板中(它们将显示为 DataRow 元素),并指示它还要包含所有附件(若存在)。 但是,除非将 persistAssetFiles 属性设置为 true,否则该引擎将不下载这些附件。

配置文件就绪后,可按如 Get-PnPSiteTemplate 文档所示的方式使用它:

Get-PnPSiteTemplate -Configuration "config.json" -Out "template.xml"

请注意,可为列表指定更多配置选项,但建议你先进一步了解该架构。

默认情况下,如果你指定 Pages 处理程序,则该引擎仅导出主页。 如果想要包含所有页面,请将 pages 部分中的 includeAllClientSidePages 属性设置为 true。

另请参阅