Compartilhar via


DevServer com o Microsoft Fabric

O DevServer é o servidor Web local executado durante o desenvolvimento de uma carga de trabalho do Fabric. Ele atende seu SPA no localhost e fornece um pequeno conjunto de endpoints HTTP que o Fabric chama durante o desenvolvimento para recuperar seus manifestos de Produto e Item. Quando combinado com o DevGateway, o Fabric pode carregar a interface de carga de trabalho em um iFrame e ler os dados do manifesto sem publicar nada na instância.

O que o DevServer faz

  • Hospeda seu front-end de carga de trabalho por HTTP no localhost (por exemplo, http://localhost:60006) para que o Fabric possa carregá-lo em um iFrame.
  • Serve ativos estáticos referenciados por seus manifestos (ícones, cadeias de caracteres localizadas, imagens).
  • Expõe os endpoints JSON locais que o Fabric usa para ler seus arquivos de manifesto durante o desenvolvimento.
  • Habilita ciclos rápidos de edição-atualização com recarregamento frequente na maioria das configurações.

Importante

O DevServer funciona junto com o DevGateway. O DevGateway registra sua instância de carga de trabalho local no Fabric para que o serviço possa se comunicar com os endpoints do DevServer durante o desenvolvimento.

Onde o Fabric chama o servidor DevServer

Quando você habilita o modo de desenvolvimento e inicia o DevGateway e o DevServer:

  • O Fabric navega até o frontend usando o endpoint definido pelo manifesto da carga de trabalho (consulte o manifesto da carga de trabalho). No desenvolvimento, isso geralmente aponta para uma URL de localhost exposta pelo DevServer.
  • O Fabric consulta o DevServer para obter metadados voltados para o produto, permitindo assim a renderização da navegação, dos blocos e de outros elementos de UX para sua carga de trabalho. Isso permite que você itere em Product.json e nos manifestos de item sem recompilar e carregar um pacote.

Pontos de extremidade locais que o DevServer fornece

As rotas exatas podem variar de acordo com o modelo, mas o repositório de exemplo expõe um pequeno conjunto de pontos de extremidade previsíveis:

  • GET / — retorna seu aplicativo Web (o UI Fabric é carregado em um iFrame).
  • GET /manifests — retorna uma carga JSON que agrega o manifesto do Produto e os manifestos dos Itens usados pelo frontend. Isso espelha a estrutura esperada pelo Fabric no momento da publicação (consulte o manifesto do produto e o manifesto do item).
  • GET /assets/... — oferece ícones, imagens e strings localizadas referenciadas por seus manifestos.

Observação

  • CORS e cabeçalhos são pré-configurados no DevServer de exemplo para que o aplicativo possa ser inserido e se comunicar com o host.
  • Os nomes de rota acima seguem o exemplo atual; consulte o README do seu modelo se o projeto usar um caminho diferente para o endpoint dos manifests.

Fluxo de desenvolvimento típico

  1. Inicie o DevServer no repositório de exemplo para hospedar seu front-end no localhost.
  2. Inicie o DevGateway para registrar sua carga de trabalho local com o Fabric.
  3. Abra o workspace do Fabric e inicie o ponto de entrada da aplicação; o Fabric carrega seu aplicativo em um iFrame e chama os endpoints do DevServer para ler os dados do manifesto.
  4. Editar arquivos de interface do usuário ou de manifesto e atualizar; as alterações entrarão em vigor imediatamente sem reempacotar.

Para saber como iniciar cada processo, consulte o tutorial de Introdução e o guia de Instalação.

Relação com manifestos publicados

Em produção, os manifestos da carga de trabalho são empacotados e carregados como parte do pacote NuGet da carga de trabalho (consulte a visão geral do manifesto). Durante o desenvolvimento, os pontos de extremidade locais do DevServer atuam como um substituto leve para esses arquivos empacotados, permitindo que você possa iterar rapidamente.

  • Esquema e regras são iguais aos dos manifestos publicados.
  • O DevServer afeta apenas o desenvolvimento local; não altera o funcionamento da publicação.

Dicas de solução de problemas

  • Se o iFrame mostrar uma página em branco, confirme se o servidor de desenvolvimento (DevServer) está em execução e o endpoint de frontend no seu manifesto aponta para a URL correta de localhost.
  • Se ícones ou cadeias de caracteres estiverem ausentes, verifique os assets caminhos e se o DevServer está servindo esses arquivos em /assets.
  • Se o Fabric não conseguir localizar seus manifestos, verifique se a /manifests rota existe em seu modelo e retorna JSON válido.

Consulte também