Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cuidado
O Microsoft Graph Toolkit foi preterido. O período de aposentadoria começa em 1º de setembro de 2025, com aposentadoria total planejada para 28 de agosto de 2026. Os desenvolvedores devem migrar para o uso dos SDKs do Microsoft Graph ou outras ferramentas do Microsoft Graph com suporte para criar experiências na Web. Para obter mais informações, consulte o anúncio de substituição.
Use o Microsoft Graph Toolkit em suas soluções de Estrutura do SharePoint.
Importante
O @microsoft/mgt-spfx pacote foi descontinuado. Use a desambiguação para as Web Parts da Estrutura do SharePoint.
Instalação
Para carregar componentes do Microsoft Graph Toolkit da biblioteca, adicione o , @microsoft/mgt-components, @microsoft/mgt-elemente @microsoft/mgt-sharepoint-provider pacotes como uma dependência de runtime ao seu projeto da Estrutura do SharePoint:
npm install @microsoft/mgt-element @microsoft/mgt-components @microsoft/mgt-sharepoint-provider
ou
yarn add @microsoft/mgt-element @microsoft/mgt-components @microsoft/mgt-sharepoint-provider
Uso
Ao criar Web Parts e extensões da Estrutura do SharePoint, consulte o Microsoft Graph Toolkit customElementsHelper, Providere SharePointProvider do e do e @microsoft/mgt-sharepoint-provider.@microsoft/mgt-element Se você não estiver usando o React, também deverá importar as funções de registro de componentes dos @microsoft/mgt-components pacotes.
Para soluções não baseadas em React
import { customElementsHelper, Providers } from '@microsoft/mgt-element';
import { SharePointProvider } from "@microsoft/mgt-sharepoint-provider";
import { registerMgtPersonComponent } from '@microsoft/mgt-components';
// [...] trimmed for brevity
export default class MgtWebPart extends BaseClientSideWebPart<IMgtWebPartProps> {
protected async onInit() {
if (!Providers.globalProvider) {
Providers.globalProvider = new SharePointProvider(this.context);
}
customElementsHelper.withDisambigutaion('contoso-hr-solution');
registerMgtPersonComponent();
}
public render(): void {
this.domElement.innerHTML = `
<div>
<mgt-contoso-hr-solution-person person-query="me"></mgt-person>
</div>`;
}
// [...] trimmed for brevity
}
Reagir
Se você estiver criando uma Web Part usando o React, poderá usar o @microsoft/mgt-react pacote e ignorar o registro manual de componentes. No entanto, certifique-se de carregar lentamente o componente React da web part para usar a desambiguação.
// [...] trimmed for brevity
import { Providers, customElementHelper } from "@microsoft/mgt-element";
import { SharePointProvider } from "@microsoft/mgt-sharepoint-provider";
import { lazyLoadComponent } from "@microsoft/mgt-spfx-utils";
// Async import of component that imports the React Components
const MgtReact = React.lazy(
() =>
import(/* webpackChunkName: 'mgt-react-component' */ "./components/MgtReact")
);
// set the disambiguation before initializing any web part
customElementHelper.withDisambiguation("mgt-demo-client-side-solution");
export default class MgtDemoWebPart extends BaseClientSideWebPart<IMgtDemoWebPartProps> {
// set the global provider
protected async onInit(): Promise<void> {
if (!Providers.globalProvider) {
Providers.globalProvider = new SharePointProvider(this.context);
}
return super.onInit();
}
public render(): void {
const element = lazyLoadComponent(MgtReact, {
description: this.properties.description
});
ReactDom.render(element, this.domElement);
}
// [...] trimmed for brevity
}
Nos componentes subjacentes do React, o componente Microsoft Graph Toolkit pode ser usado diretamente.
import { Person } from '@microsoft/mgt-react';
import { ViewType } from '@microsoft/mgt-components';
// [...] trimmed for brevity
export default class MgtReact extends React.Component<IMgtReactProps, {}> {
public render(): React.ReactElement<IMgtReactProps> {
return (
<div className={ styles.mgtReact }>
<Person personQuery="me" view={ViewType.image}></Person>
</div>
);
}
}
Importante
Verifique se sua classe de Web Part raiz não importa nenhum recurso do Microsoft Graph Toolkit do @microsoft/mgt-react. Eles só devem ser importados dentro dos componentes do React carregados lentamente.
Configurar webpack
Para criar sua Web Part, você deve atualizar a configuração do webpack da Estrutura do SharePoint para lidar corretamente com JavaScript moderno com encadeamento opcional e união nula por meio de transformações Babel adicionais.
! [IMPORTANTE] Se você não configurar o webpack para processar JavaScript moderno, não poderá criar web parts que usam o Microsoft Graph Toolkit.
Instalar pacotes do Babel
Para lidar corretamente com dependências que emitem código baseado em ES2021, adicione um carregador babel e algumas transformações como dependências de desenvolvimento ao projeto.
npm i --save-dev babel-loader@8.3.0 @babel/plugin-transform-optional-chaining @babel/plugin-transform-nullish-coalescing-operator @babel/plugin-transform-logical-assignment-operators
Modificar a configuração do webpack
A Estrutura do SharePoint fornece um modelo de extensibilidade para modificar a configuração do webpack usada para agrupar as Web Parts. Localize e abra gulpfile.js. Adicione o seguinte código acima da linha que contém build.initialize(require('gulp'));:
const path = require("path");
const litFolders = [
`node_modules${path.sep}lit${path.sep}`,
`node_modules${path.sep}@lit${path.sep}`,
`node_modules${path.sep}lit-html${path.sep}`
];
build.configureWebpack.mergeConfig({
additionalConfiguration: generatedConfiguration => {
generatedConfiguration.module.rules.push({
test: /\.js$/,
// only run on lit packages
include: resourcePath =>
litFolders.some(litFolder => resourcePath.includes(litFolder)),
use: {
loader: 'babel-loader',
options: {
plugins: [
'@babel/plugin-transform-optional-chaining',
'@babel/plugin-transform-nullish-coalescing-operator',
'@babel/plugin-transform-logical-assignment-operators'
]
}
}
});
return generatedConfiguration;
}
});