配置 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。