Partilhar via


DevServer com Microsoft Fabric

O DevServer é o servidor Web local que você executa durante o desenvolvimento de uma carga de trabalho de malha. Ele disponibiliza o seu frontend (SPA) no localhost e fornece um pequeno conjunto de pontos de extremidade HTTP que o Fabric chama durante o desenvolvimento para obter os seus manifests de Produto e Item. Quando combinado com o DevGateway, o Fabric pode carregar a sua UI de carga de trabalho num iFrame e ler os seus dados de manifesto sem publicar nada para o seu arrendatário.

O que o DevServer faz

  • Hospede o frontend da sua carga de trabalho via HTTP no localhost (por exemplo, http://localhost:60006) para que o Fabric possa carregá-lo em um iFrame.
  • Fornece ativos estáticos referenciados pelos seus manifestos (ícones, cadeias de caracteres localizadas, imagens).
  • Expõe pontos de extremidade JSON locais que o Fabric usa para ler os seus manifestos durante o desenvolvimento.
  • Permite ciclos rápidos de edição-atualização com recarga instantânea em maior parte das configurações.

Importante

O DevServer funciona em conjunto com o DevGateway. O DevGateway regista a sua instância de carga de trabalho local no Fabric para que o serviço saiba comunicar com os endpoints DevServer enquanto desenvolve.

Onde o Fabric chama o DevServer

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

  • Fabric navega até ao frontend através do endpoint de frontend definido pelo manifesto da carga de trabalho (consulte Manifesto da carga de trabalho). No desenvolvimento, isso geralmente aponta para uma URL de host local exposta pelo DevServer.
  • O Fabric consulta o DevServer em busca de metadados voltados para o produto para que ele possa renderizar navegação, blocos e outras experiências do usuário para sua carga de trabalho. Isso permite iterar sobre Product.json e manifestos de item sem reconstruir 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 do item usados pelo frontend. Isso espelha a estrutura que o Fabric espera no momento da publicação (consulte Manifesto do produto e Manifesto do item).
  • GET /assets/... — disponibiliza ícones, imagens e cadeias localizadas referenciadas pelos seus manifestos.

Observação

  • CORS e cabeçalhos são pré-configurados no exemplo DevServer para que o aplicativo possa ser incorporado e se comunicar com o host.
  • Os nomes das rotas acima seguem o exemplo atual; consulte o README do seu modelo se o seu projeto utilizar um caminho diferente para o ponto final dos manifestos.

Fluxo de desenvolvimento típico

  1. Inicie o DevServer a partir do repositório de exemplo para hospedar seu frontend no localhost.
  2. Inicie o DevGateway para registrar sua carga de trabalho local com o Fabric.
  3. Abra o espaço de trabalho do Fabric e inicie o ponto de entrada da carga de trabalho; O Fabric carrega seu aplicativo em um iFrame e chama seus pontos de extremidade DevServer para ler dados de manifesto.
  4. Edite arquivos de interface do usuário ou manifesto e atualize; As alterações entram em vigor imediatamente, sem reembalagem.

Para saber como iniciar cada processo, consulte o tutorial de Início e o guia de Configuração.

Relação com manifestos publicados

Em produção, os manifestos da sua carga de trabalho são empacotados e carregados como parte do pacote NuGet da sua carga de trabalho (ver visão geral do Manifest). Durante o desenvolvimento, os endpoints locais do DevServer funcionam como um substituto leve para esses ficheiros empacotados, para que possa iterar rapidamente:

  • O esquema e as regras são os mesmos dos manifestos publicados.
  • O DevServer afeta apenas o desenvolvimento local; Não muda a forma como a publicação funciona.

Dicas de solução de problemas

  • Se o iFrame mostrar uma página em branco, confirme se o Servidor de Desenvolvimento está em execução e se o ponto de extremidade frontal no seu manifesto aponta para a URL de host local correta.
  • Se ícones ou cadeias de caracteres estiverem faltando, verifique os assets caminhos e se o DevServer está servindo esses arquivos em /assets.
  • Se o Fabric não conseguir encontrar os teus manifestos, verifica se a /manifests rota existe no teu template e devolve JSON válido.

Consulte também