2016-02-23 21 views
13

Quando sto creazione di un modello in strongloop con il seguente comando:Qual è la differenza tra modelli comuni e server in loopback?

slc loopback:model 

loopback mi chiede di scegliere tra modello o server comune.

Solo modello o server comune?

Non ho davvero idea di come scegliere una o l'altra opzione. Sarò grato se qualcuno di voi può aiutarmi a capire o darmi qualche idea per prendere una decisione saggia.

risposta

16

Se si desidera poter condividere modelli tra parti client e server della propria app, inserire i file JSON e JavaScript del modello nella directory/common/models. Se si desidera disporre di modelli client e server separati, inserire i file JSON e JavaScript del modello nella directory/server/modelli.

Fare riferimento a questo collegamento. https://docs.strongloop.com/display/public/LB/common+directory

+1

Un'altra cosa da aggiungere. Nella pagina seguente puoi aggiungere un po 'di informazioni sulle domande che il loopback CLI ti chiederà: https://docs.strongloop.com/display/public/LB/Create+a+simple+API – Luillyfe

+0

Perché il loopback suggerisce di mantenere sempre i modelli/comuni? 'Mantieni, l'impostazione predefinita, comune, anche se in questa applicazione lavorerai solo con i modelli lato server' – rahpuser

+0

Questa risposta è ciò che è scritto nella documentazione, ma cosa significa esattamente" condividere "tra client e server. Se metto un modello nella cartella/server/models, cosa succede sul client e sul server? – YeeHaw1234

0

Il loopback può essere eseguito sia sul client che sul server utilizzando isomorphic LoopBack. La stessa app in esecuzione in NodeJs può anche essere eseguita nel browser client, quindi invece di codificare le richieste e le risposte HTTP sul client in CRUD delle istanze del modello LoopBack, è sufficiente chiamare il metodo loopback appropriato.

In altre parole, invece di chiamare un POST a un end-point API per creare un nuovo oggetto (POST/api/MyObject) nel database, si può semplicemente chiamare MyObject.create (dati) sul client e l'app LoopBack nel client effettuerà la chiamata. E invece di restituire una risposta HTTP, restituirà l'oggetto creato.

Ora, questo ci porta alla differenza tra i modelli/common e/server: se si desidera che il modello utilizzato nel browser sia lo stesso del modello utilizzato sul server, creare il modello in/common. Se hai bisogno che il modello sia diverso, crea il modello nella cartella/server/modelli (non sai dove creare il modello per il client)