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.
Cuidado
O Toolkit do Microsoft Graph foi preterido. O período de reforma começa a 1 de setembro de 2025, com a reforma completa prevista para 28 de agosto de 2026. Os programadores devem migrar para utilizar os SDKs do Microsoft Graph ou outras ferramentas suportadas do Microsoft Graph para criar experiências Web. Para obter mais informações, veja o anúncio de preterição.
Utilize o Microsoft Graph Toolkit nas suas soluções de Estrutura do SharePoint.
Importante
O @microsoft/mgt-spfx pacote foi descontinuado. Utilize a desambiguação para as peças Web Estrutura do SharePoint.
Instalação
Para carregar componentes do Microsoft Graph Toolkit a partir da biblioteca, adicione os @microsoft/mgt-elementpacotes , @microsoft/mgt-componentse @microsoft/mgt-sharepoint-provider como uma dependência de runtime ao projeto 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 Estrutura do SharePoint peças Web e extensões, faça referência ao Toolkit customElementsHelperdo Microsoft Graph , Providere SharePointProvider a @microsoft/mgt-element partir de e @microsoft/mgt-sharepoint-provider. Se não estiver a utilizar React, também deve importar as funções de registo 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 estiver a criar uma peça Web com React, pode utilizar o @microsoft/mgt-react pacote e ignorar o registo manual de componentes. No entanto, certifique-se de que carrega lentamente o componente React a partir da peça Web para utilizar 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 de React subjacentes, o componente Microsoft Graph Toolkit pode ser utilizado 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
Certifique-se de que a sua classe de peça Web raiz não importa quaisquer recursos do Microsoft Graph Toolkit do @microsoft/mgt-react. Estes só devem ser importados dentro dos componentes de React carregados em diferido.
Configurar o webpack
Para criar a sua peça Web, tem de atualizar a configuração do webpack Estrutura do SharePoint para processar corretamente o JavaScript moderno com encadeamento opcional e agrupamento nulo através de transformações adicionais do Babel.
! [IMPORTANTE] Se não configurar o webpack para processar JavaScript moderno, não poderá criar peças Web que utilizem o Microsoft Graph Toolkit.
Instalar pacotes Babel
Para processar corretamente as 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
Estrutura do SharePoint fornece um modelo de extensibilidade para modificar a configuração do webpack utilizada para agrupar as peças Web. 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;
}
});