Configurazione del server di sviluppo locale
Per consolidare l'esecuzione di tutte le applicazioni micro-frontend all'interno dell'applicazione Sterling Store Engagement, utilizzare le utility e gli script a riga di comando forniti. Gli script e i programmi di utilità della linea di comando si basano su app-config.json, che descrive la root di contesto, le porte e così via, per tutte le applicazioni di micro - frontend. Consente inoltre alcuni instradamenti a un server remoto che consente agli sviluppatori di scegliere l'applicazione che si desidera eseguire localmente.
Gli sviluppatori possono scegliere di servire le applicazioni di micro - frontend da un server remoto invece di eseguire localmente. Come sviluppatore, è possibile configurare l'istanza del toolkit sviluppatori locale o l'istanza del cloud di sviluppo o QA come server remoto. Se il server remoto è abilitato a HTTPS, viene stabilita una connessione sicura al server utilizzando il file di certificato p12 configurato e la password del certificato. Configurando il server remoto, è possibile scegliere gli instradamenti appropriati o le applicazioni micro - frontend da utilizzare da un server locale e da un server remoto. Dopo aver generato e scaricato il certificato client, configurare il percorso del certificato client nel file app-config-overrides.json . Per ulteriori informazioni sulla generazione e il download del certificato client, vedere Generazione di certificati client.
export NODE_OPTIONS=--openssl-legacy-providerapp-config.json :{
"name": "store-frontend",
"devServerConfig": {
"port": 9000,
"contextRoot": "/isf/store-frontend"
},
"routes": {
"app-shell": {
"devServerConfig": {
"port": 4200,
"contextRoot": "app-shell"
}
},
"login": {
"devServerConfig": {
"port": 4204,
"contextRoot": "login"
}
},
"nav-bar": {
"devServerConfig": {
"port": 4300,
"contextRoot": "nav-bar"
}
},
"home": {
"devServerConfig": {
"port": 4203,
"contextRoot": "home"
}
},
"customer-profile": {
"devServerConfig": {
"port": 4202,
"contextRoot": "customer-profile"
}
}
}}package.json fornisce lo script, yarn start-app per avviare l'applicazione della funzione. Come sviluppatore, puoi sovrascrivere app-config.json fornendo app-config-overrides.json per eseguire le applicazioni micro - frontend nelle seguenti modalità:- Per eseguire alcune applicazioni di micro - frontend localmente, completa la seguente procedura:
- Copia e incolla l'applicazione micro - frontend o il nome instradamento dal file
app-config.jsonall'oggetto routes inapp-config-overrides.json. - Per il nome dell'applicazione, impostare
useRemote=false. - Impostare
serveAllAppsFromLocal=falseper garantire che le restanti applicazioni micro - frontend vengano fornite da un server remoto configurato nell'oggettoremoteServerConfig.
- Copia e incolla l'applicazione micro - frontend o il nome instradamento dal file
- Per eseguire tutte le applicazioni micro - frontend localmente, imposta
"serveAllAppsFromLocal": trueinapp-config-overrides.json. In questo caso, l'indicatoreuseRemoteper le singole applicazioni micro - frontend e le configurazioni del server remoto viene ignorato.Draft comment: shailaskumar@in.ibm.comNote: As all the micro-applications are running locally, it results in high memory consumption. Therefore, you might observe performance degradation or system not responding.
Il comando yarn start-app analizza app-config-overrides.json e avvia localmente le applicazioni micro - frontend, configurate come "useRemote":
false. Le applicazioni micro - frontend non elencate in app-config-overrides.json o con useRemote: true vengono servite da un server remoto configurato nell'oggetto remoteServerConfig nel file app-config-overrides.json .
useRemote: true, si consiglia di avviare il browser Google Chrome in modalità di sicurezza Web disabilitata. Questo per garantire che il browser non blocchi le richieste HTTP di origine incrociata inviate al server dell'applicazione remota dall'applicazione locale.- Per Windows, eseguire il seguente comando:
chrome.exe --user-data-dir="C:\tmp" --disable-web-security - Per Mac, esegui questo comando:
open /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir=/tmp
app-config-overrides.json:{
"name": "store-frontend",
"serveAllAppsFromLocal": false,
"remoteServerConfig": {
"hostName": "store-dev.oms.supply-chain.ibm.com",
"port": 443,
"https": true
"options": {
"pfx":"/path/to/certificate.p12",
"passphrase":"<password>"
}
},
"routes": {
"app-shell": {
"useRemote": false
},
"login": {
"useRemote": false
},
"nav-bar": {
"useRemote": false
},
"home": {
"useRemote": false
},
"backroom-pick": {
"useRemote": false
}
}
}Le seguenti tabelle definiscono lo schema JSON di app-config.json e app-config-overrides.json:
| Elemento o attributo | Descrizione |
|---|---|
| Nome | Nome dell'applicazione del negozio. |
|
La configurazione del server di sviluppo al livello root indica il numero di porta e la root di contesto utilizzati dall'applicazione root di archivio.
|
|
La configurazione del server remoto utilizzata per servire le applicazioni angolari da un server remoto. Questa configurazione consente agli sviluppatori di eseguire specifiche applicazioni angolari in locale, e le restanti da servire da un server remoto. Il server remoto potrebbe essere l'istanza OMS DTK o le istanze cloud di sviluppo o QA con un certificato e una password validi configurati in app-config-overrides.json.Gli sviluppatori possono configurare l'istanza OMS DTK o l'istanza cloud QA o di sviluppo come server remoto.
<store-temp>/app-config-overrides.json . |
|
Indica se tutte le applicazioni angolari specificate in <store-temp>/app-config.json e <store-temp>/app-config-overrides.json devono essere avviate e fornite da un'istanza locale. Quando questo indicatore è impostato su true, l'indicatore useRemote configurato per una singola applicazione angolare viene ignorato. Questo indicatore supporta solo il valore boolean e deve essere configurato solo nel file <store-temp>/app-config-overrides.json . |
|
Contiene l'elenco di configurazioni di applicazioni angolari abilitate per singola spa. Ciascuna configurazione dell'applicazione include le seguenti proprietà:
<store-temp>/app-config-overrides.json . Assicurarsi di copiare il nome esatto dell'applicazione.
|
La tabella riportata di seguito fornisce l'elenco di dettagli dell'applicazione angolare abilitata per la singola spa fornita dall'applicazione:
| Nome applicazione | Descrizione |
|---|---|
| shell - app | Inizializza l'applicazione di archiviazione con tutti i dati di configurazione necessari per il funzionamento. Il app-shell viene caricato in una modalità headless e non è visibile nell'IU.Non è possibile personalizzare questa applicazione. |
| barra di navigazione | barra di navigazione |
| accesso | Fornisce la funzione di accesso. |
| pagina iniziale | Fornisce la funzionalità della home page, che visualizza i portlet per diverse persone. |
| ordini | Fornisce la funzione correlata a un'entità dell'ordine di vendita, ad esempio l'elenco degli ordini, il riepilogo degli ordini, l'acquisizione degli ordini e la pacificazione dei clienti degli ordini. I punti di immissione sono la ricerca di ordini globali, il portlet di ricerca ordini e il portlet di verifica rapida. |
| restituisce | Fornisce la funzione di reso degli ordini di vendite. Il punto di ingresso restituisce il portlet. |
| profilo cliente | Fornisce la funzionalità per visualizzare i risultati della ricerca del cliente e dettagli del profilo del cliente. Il punto di ingresso è il portlet Ricerca e trova cliente globale. |
| ritiro dal magazzino | Fornisce la funzionalità dell'ordine di ritiro per i negozi abilitati a Sterling Store Inventory Management (SIM). Il punto di ingresso è il portlet dell'ordine di ritiro. |
| spedizione - magazzino - ritiro | Fornisce la funzionalità di ordine di prelievo dal retrobottega basata sulla spedizione per i negozi disabilitati alla gestione dell'inventario. Il punto di ingresso è il portlet dell'ordine di ritiro. |
| prelievo in batch | Fornisce la capacità di prelievo in batch per i negozi abilitati alla gestione dell'inventario. Il punto di ingresso è il portlet dell'ordine di ritiro. |
| spedizione - lotto - ritiro | Fornisce una capacità di prelievo in batch basata sulle spedizioni per i negozi disabilitati dalla gestione dell'inventario. Il punto di ingresso è il portlet dell'ordine di ritiro. |
| ordine di imballaggio | Fornisce la funzione di ordine del pacco. Il punto di ingresso è il portlet dell'ordine dei pacchetti. |
| ritiro dal cliente | Fornisce la funzionalità di ritiro del cliente. Il punto di ingresso è il portlet ritiro dal cliente. |
| pacchi di spedizione | Fornisce la funzione di spedizione degli ordini. Il punto di ingresso è il portlet degli ordini di spedizione. |
| riepilogo - elenco - spedizione | Fornisce l'elenco di spedizioni e la funzionalità di riepilogo delle spedizioni. Il punto di entrata è il portlet Ricerca spedizione globale e trova spedizioni. |
| conteggio ciclo | Fornisce la funzione di conteggio cicli. Il punto di ingresso a questa applicazione è dal portlet conteggio cicli. |
| ricerca - inventario | Fornisce la funzione di ricerca inventario. Il punto di ingresso è dal portlet di inventario di ricerca. |
| sposta - inventario | Fornisce la funzione di spostamento inventario. Il punto di ingresso per questa applicazione proviene dal portlet di spostamento inventario. |
| inventario accantonamento | Fornisce la funzione di inventario di accantonamento. Il punto di ingresso proviene dal portlet di inventario di accantonamento. |
| inventario - trasferimento | Fornisce la funzione di trasferimento dell'inventario e il punto di ingresso è dal portlet di trasferimento dell'inventario. |
| Configurazioni | Consente di configurare le ubicazioni in un negozio e viene aperto dal menu dell'applicazione utilizzando l'opzione di menu Configurazioni . |