Sono confuso su quando si usa il blocco di isServer per inserire elementi. Ovviamente, le chiamate al database e così via. Si presenta nel browser client?Meteor: il codice all'interno del blocco Meteor.isServer è leggibile dal client?
risposta
Vorrei consigliare di non usare che invece mettere la roba in cartelle come consigliato sul unofficial meteor faq
Anche se si utilizza if (Meteor.isServer) {...}
questo blocco verrà comunque inviato al client, se non si utilizza la struttura delle cartelle di cui sopra cioè mettendolo in /server
. Ma ignorerà tutto il codice al suo interno.
Sul lato server si inserisce il codice che si desidera eseguire sul server, le funzioni di pubblicazione e i dati che sarebbero più sensibili a & a cui l'utente non dovrebbe avere accesso.
Penso che venga inviato al client, a meno che non sia nella cartella del server. In risposta a uno dei commenti sulla condivisione delle variabili globali, ho utilizzato questo modello. Creare la stessa variabile globale rispettivamente nelle cartelle client e server e una volta all'esterno di tali cartelle per qualsiasi codice condiviso. Inizializza la variabile globale in ogni luogo testando per vedere se esiste già.
MyVar = typeof MyVar === 'undefined' ? {} : MyVar;
Poi, appena messo metodi in cui ne avete bisogno. Ad esempio, avrò un oggetto User con un metodo che verifica se l'utente è autorizzato. Dichiarerò il metodo una volta sull'utente globale del server e una volta sull'utente globale del client. I metodi sono diversi perché la versione del server controlla le proprietà personalizzate sull'oggetto utente che non sono disponibili sul client. Quindi, in un metodo Meteor.methods, che viene eseguito sia sul client che sul server, è possibile richiamare il metodo di autorizzazione e chiamerà metodi diversi a seconda che sia in esecuzione sul client o sul server.
mi chiedevo la stessa domanda oggi e inciampato su questo pacchetto:
https://github.com/mquandalle/meteor-minifiers
Sembra Meteor non rimuove i blocchi Meteor.isServer
per impostazione predefinita. Vedere la discussione:
https://groups.google.com/forum/#!topic/meteor-talk/iHat47f6iGE
io non l'ho usato fin d'ora, ma sembra promettente.
Se non si desidera utilizzare un pacchetto aggiuntivo, si consiglia di utilizzare le cartelle client
e server
. Solo i file nella cartella client
vengono inviati al client.
- 1. Come nascondere il codice lato server di Meteor dal browser?
- 2. Il codice back-end di Meteor è sempre disponibile sul lato client?
- 3. ottiene AST leggibile dall'uomo dal codice C++
- 4. Il client non riceve i dati dal server Meteor pubblica
- 5. Meteor - Utilizzo della raccolta all'avvio del client
- 6. Streaming dei dati dal server al client con Meteor:
- 7. Come uscire dal blocco di codice PHP?
- 8. Impostazioni lato client Meteor
- 9. Richiamare una funzione js del client in Meteor dopo aver ottenuto i risultati dal server
- 10. Invio messaggio di errore formattato al client dal blocco catch
- 11. Meteor NPM-module lato client?
- 12. Reattività solo lato client con Meteor?
- 13. Come utilizzare il modulo npm nel client Meteor?
- 14. Come posso rendere più leggibile questo codice TryGetValue del dizionario?
- 15. L'URL del documento HTML è stato scaricato dal browser client?
- 16. Multiple (separato/namespace) codebase del client Meteor per singola applicazione Meteor
- 17. Meteor template.rendered - Perché la raccolta è vuota?
- 18. È possibile utilizzare newline all'interno del blocco di codice roxygen2?
- 19. Aggiornamenti ajax del client dal server senza ripetere il codice ogni secondo?
- 20. disconnetti il client dal lato server signalr
- 21. De-offuscare il codice Javascript per renderlo nuovamente leggibile
- 22. È possibile estendere un'interfaccia virtuale senza ricompilazione del codice client?
- 23. Sapere quando mostrare il blocco del codice d'accesso
- 24. Implementare il blocco del codice d'accesso per l'applicazione Android
- 25. Come funziona Meteor, Client vs Server?
- 26. Java statica del codice di blocco
- 27. Imposta gli argomenti predefiniti per il blocco del codice Sweave
- 28. Come bloccare i pulsanti/telefono Android dal codice (blocco schermo)?
- 29. Interrompi il blocco UIP dal licenziamento automatico
- 30. cambia il cursore dal blocco o dal rettangolo alla linea?
Come condividere le variabili globali comuni nel codice server e nel codice client? Devo ancora usare 'MEteor.isServer {}' all'interno della directory del server? – KJW
È possibile inserire codice comune nella cartella principale dei progetti senza un Meteor.isServer e senza un Meteor.isClient, questo codice comune verrebbe eseguito sia sul client che sul server – Akshat