Развертывание решений SharePoint Framework на уровне клиента
Вы можете сделать свои компоненты SharePoint Framework (SPFx) доступными во всем клиенте сразу после установки пакета решения в каталоге приложений клиента. Для этого используется атрибут skipFeatureDeployment
в файле ./config/package-solution.json.
Если в решении включен этот атрибут, администратор клиента может сделать решение доступным во всех семействах веб-сайтов и на всех сайтах в клиенте сразу после установки пакета решения в каталоге приложений клиента.
Вы также можете увидеть вариант развертывания на уровне клиента, продемонстрированный в следующем видео на канале Microsoft 365 Platform Community (PnP) YouTube:
Примечание.
Для использования этой возможности необходимо обновить шаблон Yeoman для SharePoint Framework до последней версии. Вы можете обновить глобальную установку, выполнив **npm install -g @microsoft/generator-sharepoint**.
Развертывание на уровне клиента выпущено в SPFx версии 1.4 и может использоваться при разработке веб-частей, которые будут развернуты в SharePoint 2019 и SharePoint Online. Этот вариант развертывания недоступен для SharePoint 2016 года с пакетом дополнительных компонентов 2, так как он поддерживает только SPFx 1.1.
При использовании веб-части SPFx старше версии 1.4 обновление можно выполнить по инструкциям, используя Интерфейс командной строки для Microsoft 365
Требования к конкретному решению
При использовании этого параметра все определения платформы функций в решении SharePoint Framework игнорируются. Если решение содержит определения платформы компонентов, например для создания настраиваемого списка, не следует использовать этот параметр для конкретного решения.
Дополнительные сведения см. в статье Подготовка ресурсов SharePoint с пакетом решения.
Примечание.
Решения, настроенные на автоматическое развертывание на уровне клиента, не отображаются при добавлении приложения на уровне сайта.
Настройка решения для доступности во всем клиенте
В шаблоне Yeoman для SharePoint Framework есть отдельный вопрос, связанный с этой возможностью. Ответ на этот вопрос влияет непосредственно на атрибут skipFeatureDeployment
в файле package-solution.json.
В приведенном ниже примере конфигурации для параметра skipFeatureDeployment
задано значение true
, указывающее, что решение можно централизованно развернуть на уровне клиента.
{
"solution": {
"name": "tenant-deploy-client-side-solution",
"id": "dd4feca4-6f7e-47f1-a0e2-97de8890e3fa",
"version": "1.0.0.0",
"skipFeatureDeployment": true,
"features": [
{
"title": "Application Extension - Deployment of custom action.",
"description": "Deploys a custom action with ClientSideComponentId association",
"id": "54f0dc0e-c190-439d-933b-2dd2809ed3c3",
"version": "1.0.0.0",
"assets": {
"elementManifests": [
"elements.xml",
"ClientSideInstance.xml"
]
}
}
]
},
"paths": {
"zippedPackage": "solution/tenant-deploy-true.sppkg"
}
}
Утверждение развертывания на уровне клиента в каталоге приложений
Если для атрибута skipFeatureDeployment
задано значение true
, администратор может настроить централизованное развертывание решения на уровне клиента.
По умолчанию флажок Сделать это решение доступным для всех сайтов в организации не установлен. Если администратор установит этот флажок, компоненты решений будут автоматически видны и доступны во всем клиенте.
Обратите внимание: так как действия по обновлению решений и сайтов доступны только при использовании платформы компонентов, специального способа для обновления централизованно развернутых решений не существует. Эти решения могут быть обновлены путем обновления ресурсов для конкретного решения в CDN, а также путем обновления и развертывания пакета в каталоге приложений. При этом все существующие экземпляры компонентов автоматически начинают использовать последние версии файлов JavaScript и обновленные CSS-файлы.
Предупреждение
Для пакетов решений, содержащих расширение (я) сайта, установка флажка Сделать это решение доступным для всех сайтов в организации необходима только для первоначальной активации расширения (ей) сайта. При обновлении существующих пакетов решений установка флажка во время развертывания может привести к созданию повторяющихся записей в списке расширения на уровне клиента .
Видимость клиентских веб-частей на сайтах SharePoint
Веб-части, включенные в централизованно развернутые решения, будут автоматически видны в средстве выбора веб-частей как на классических, так и на современных страницах.
Влияние параметра skipFeatureDeployment на расширения
Расширения SharePoint Framework сразу доступны для использования на сайтах SharePoint. Это означает, что их можно сопоставлять со свойствами ClientSideComponentId
в определенных элементах SharePoint, таких как поля и дополнительные действия пользователей.
Кроме того, если во время развертывания администратор установит флажок Сделать это решение доступным для всех сайтов в организации, автоматизация в пакете решений может создать записи в списке Расширения клиента в каталоге приложений. Записи в этом списке управляют активацией расширений сайта для всего клиента. Автоматизация описывается файлом ClientSideInstance.xml, как указано в ./config/package-solution.json.
Дополнительные сведения см. в разделе Развертывание клиентом расширений SharePoint Framework.