Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A tarefa do gulp package-solution analisa /config/package-solution.json para obter diversos detalhes de configuração, inclusive alguns filepaths genéricos, bem como para definir o relacionamento entre os componentes (WebParts e Applications) em um pacote.
O esquema para o arquivo de configuração é o seguinte:
interface IPackageSolutionTaskConfig {
paths?: {
packageDir?: string;
debugDir?: string;
zippedPackage?: string;
featureXmlDir?: string;
manifestsMatch?: string;
manifestDir?: string;
sharepointAssetDir?: string;
};
solution?: ISolution;
}
Cada arquivo de configuração de pacote tem algumas configurações opcionais para substituir os locais em que a tarefa procura vários arquivos e manifestos de origem e definir o local para gravar o pacote. Além disso, ele tem uma definição de solução necessária, que instrui o gerenciador sobre as relações de vários componentes.
Definição de solução (ISolution)
interface ISolution {
name: string;
id: string;
title?: string;
supportedLocales?: string[];
version?: string;
features?: IFeature[];
iconPath?: string;
skipFeatureDeployment?: boolean;
}
Cada arquivo de solução deve ter um name que identifica o pacote na IU do SharePoint. Além disso, cada pacote deve conter um identificador global exclusivo (id), que é usado internamente pelo SharePoint. Opcionalmente, você também pode especificar um número de version no formato "X.X.X.X", que é usado para identificar várias versões do pacote durante a atualização.
Observação
O sistema de controle de versão se aplica somente às definições de Recursos do SharePoint e de Estrutura de Recursos incluídas no pacote. O código e os ativos da nova versão do pacote ficam disponíveis assim que a nova versão do pacote for adicionada ao catálogo de aplicativos, sem precisar atualizar o aplicativo nos sites.
Opcionalmente, a definição da solução também contém uma lista de definições de recursos do SharePoint.
Observação
Se isso for omitido ou estiver vazio, a tarefa criará um único Recurso para cada componente (um mapeamento 1:1).
Definição de recurso (IFeature)
interface IFeature {
title: string;
description: string;
id: string;
version?: string;
componentIds?: string[];
components: IComponent[];
assets: ISharepointAssets<string>;
}
É importante observar que esta é uma definição para a criação de um recurso do SharePoint e que algumas dessas opções estão expostas na IU. Da mesma forma que a solução, cada recurso possui um número obrigatório title, description, id e version (no formato X.X.X.X). O recurso id também deve ser um identificador global exclusivo.
Cada recurso também pode conter qualquer número de componentes que são ativados quando o recurso é ativado. Isso é definido por meio de uma lista de componentIds, que são identificadores globais exclusivos que devem corresponder à ID no arquivo de manifesto do componente. Se esta lista estiver indefinida ou vazia, o empacotador incluirá cada componente no recurso.
Caminhos de arquivo
interface IPackageSolutionTaskConfig {
paths?: {
packageDir?: string;
debugDir?: string;
zippedPackage?: string;
featureXmlDir?: string;
manifestsMatch?: string;
manifestDir?: string;
sharepointAssetDir?: string;
};
solution?: ISolution;
}
packageDir: Pasta raiz da embalagem. Padrão para./sharepoint. Todos os outros caminhos são relativos a essa pasta.debugDir: Pasta para gravar o pacote bruto no disco para depuração. Padrão parasolution/debug.zippedPackage: Nome do arquivo sppkg a ser criado (incluindo a extensão). O padrão éClientSolution.sppkgfeatureXmlDir: pasta contendo o XML de recurso personalizado para importar no pacote. O padrão éfeature_xmlImportante
Todos os arquivos nessa pasta são incluídos no SPPKG; no entanto, você deve criar um arquivo .rels para seu recurso personalizado para que ele seja incluído no manifesto do pacote.
manifestsMatch: glob de correspondência para localizar arquivos de manifesto. Examina dist/ durante a execução no modo normal, mas em deploy/ para produção.manifestDir: caminho para a pasta onde os manifestos são armazenados. O padrão ébuildConfig.distFoldersharepointAssetDir: diretório contendo ativos do SharePoint (como elementos de recurso, manifestos de elemento e ações de atualização), que são automaticamente incluídos no pacote do SharePoint. O padrão éassets
Exemplos
Configuração padrão
{
"solution": {
"name": "spfx-hello-world-client-side-solution",
"id": "77fd2eed-55b0-42bf-8b4d-f66730cb0c34",
"version": "1.0.0.0"
},
"paths": {
"zippedPackage": "solution/spfx-hello-world.sppkg"
}
}
XM L de recurso personalizado
Para dar suporte ao provisionamento de vários recursos do SharePoint (por exemplo, Modelos de Lista, Páginas ou Tipos de Conteúdo), o XML de recurso personalizado também pode ser injetado no pacote. Isso é usado para provisionar recursos necessários aos aplicativos, mas também pode ser usado para web parts. A documentação de XML do Recurso está localizada em Arquivos Feature.xml.
A tarefa de empacotamento procura o recurso personalizado XML no ./sharepoint/feature_xml. Todos os arquivos dessa pasta são incluídos no pacote de aplicativo final. No entanto, a tarefa depende do conteúdo da pasta _rels/ para determinar quais recursos personalizados são definidos.
Basicamente, ela pressupõe que cada arquivo .xml.rels esteja relacionado a um feature.xml com o mesmo nome no nível superior de feature_xml/ e adiciona uma relação com o arquivo AppManifest.xml.rels que inclui esse recurso no pacote.