Поделиться через


Развертывание решений 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.

Вопрос Yeoman о варианте развертывания на уровне клиента

В приведенном ниже примере конфигурации для параметра 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.

См. также