Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
DevServer è il server web locale eseguito durante lo sviluppo di un carico di lavoro Fabric. Gestisce il tuo front-end (SPA) su localhost e fornisce un piccolo set di endpoint HTTP che Fabric chiama durante lo sviluppo per recuperare i manifesti del prodotto e dell'elemento. In combinazione con il DevGateway, Fabric può caricare l'interfaccia utente del tuo carico di lavoro in un iFrame e leggere i dati del manifesto senza pubblicare alcun elemento nel tuo tenant.
Operazioni di DevServer
- Ospita il front-end del carico di lavoro su HTTP in localhost (ad esempio, http://localhost:60006) in modo che Fabric possa caricarlo in un iFrame.
- Serve gli asset statici a cui fanno riferimento i manifesti (icone, stringhe localizzate, immagini).
- Espone gli endpoint JSON locali usati da Fabric per leggere i manifesti durante lo sviluppo.
- Consente cicli rapidi di aggiornamento con ricaricamento rapido nella maggior parte delle impostazioni.
Importante
DevServer interagisce con DevGateway. DevGateway registra l'istanza del carico di lavoro locale con Fabric in modo che il servizio sappia comunicare con gli endpoint DevServer durante lo sviluppo.
Dove DevServer viene chiamato da Fabric
Quando si abilita la modalità di sviluppo e si avvia devGateway e DevServer:
- Fabric naviga al frontend attraverso l'endpoint frontend definito dal manifesto del carico di attività (vedere Manifesto del carico di attività). In fase di sviluppo, in genere punta a un URL localhost esposto dal server di sviluppo.
- Fabric esegue una query in DevServer per i metadati destinati al prodotto in modo da poter effettuare il rendering della navigazione, dei riquadri e di altre interfacce utente per il flusso di lavoro. In questo modo è possibile iterare su
Product.jsone sui manifesti degli elementi senza ricostruire e caricare un pacchetto.
Endpoint locali forniti da DevServer
Le route esatte possono variare in base al modello, ma il repository di esempio espone un piccolo set di endpoint stimabili:
- GET / — restituisce la tua applicazione web (UI Fabric viene caricata in un iFrame).
- GET /manifests: restituisce un payload JSON che aggrega il manifesto del prodotto e i manifesti item usati dal front-end. Questa rispecchia la struttura che Fabric si aspetta al momento della pubblicazione (vedere Manifest del prodotto e Manifest dell'elemento).
- GET /assets/... : fornisce icone, immagini e stringhe localizzate a cui fanno riferimento i manifesti.
Annotazioni
- CORS e le intestazioni sono preconfigurate nell'esempio DevServer in modo che l'app possa essere incorporata e comunicare con l'host.
- I nomi delle route precedenti seguono l'esempio corrente; consultare il file README del modello se il progetto usa un percorso diverso per l'endpoint dei manifesti.
Flusso di sviluppo tipico
- Avviare DevServer dal repository di esempio per ospitare il front-end in localhost.
- Avviare DevGateway per registrare il carico di lavoro locale con Fabric.
- Apri l'area di lavoro di Fabric e avvia il punto di ingresso del carico; Fabric carica la tua app in un iFrame e chiama gli endpoint del tuo DevServer per leggere i dati del manifesto.
- Modificare i file dell'interfaccia utente o manifesto e aggiornare; le modifiche diventano effettive immediatamente senza ricomprimere.
Per informazioni su come avviare ogni processo, vedere l'esercitazione introduttiva e la guida all'installazione.
Relazione con i manifesti pubblicati
Nell'ambiente di produzione, i manifesti del carico di lavoro vengono inseriti in un pacchetto e caricati come parte del pacchetto NuGet del carico di lavoro (vedere Panoramica del manifesto). Durante lo sviluppo, gli endpoint locali di DevServer fungono da supporto leggero per i file in pacchetto, in modo da poter eseguire rapidamente l'iterazione:
- Schema e regole sono uguali a per i manifesti pubblicati.
- DevServer influisce solo sullo sviluppo locale; non cambia il funzionamento della pubblicazione.
Suggerimenti per la risoluzione dei problemi
- Se l'iFrame mostra una pagina vuota, verificare che DevServer sia in esecuzione e che l'endpoint front-end nel manifesto punti all'URL localhost corretto.
- Se mancano icone o stringhe, controllare i
assetspercorsi e che il DevServer fornisca tali file in/assets. - Se Fabric non riesce a trovare i manifesti, verificare che la
/manifestsroute esista nel modello e restituisca json valido.