Desidero conservare un documento json per archiviare alcuni dati semplici e desidero richiedere questo documento e utilizzare l'oggetto json in una chiamata define()
in modo da poterlo utilizzare. Questa non è una chiamata "asincrona". Voglio dire che dovrebbe essere per lo sviluppo, ma voglio compilare il file su build a differenza di una chiamata asincrona effettiva da un'API, in cui il contenuto è dinamico.requirejs carica file JSON statico
risposta
Il modo più semplice per farlo è utilizzare il plugin requirejs json per questo, questo ti permetterà di includere anche il tuo file nella build.
https://github.com/millermedeiros/requirejs-plugins
Ecco un esempio:
require(['json!someFile.json'], function(data){
...
})
// It does not actually need to be a .json extension, this will work to:
require(['json!someFile'], function(data){
...
})
Se si desidera includere il file nel r.js costruire in modo che sia sempre ottimizzato nel file di bootstrap principali/js bisogna aggiungerlo all'opzione di inclusione
Si potrebbe anche utilizzare il necessario js text plugin per questo, in genere viene utilizzato per caricare i file di modello ma è possibile utilizzarlo per caricare anche i file .json.
https://github.com/requirejs/text
Si dovrà analizzare il contenuto vostra auto poi con JSON.parse
(Include json2.js per fornire il supporto per i browser meno recenti, se quello che serve)
Si potrebbe anche avvolgere il JSON in esso la propria definire() in modo da poterlo richiedere tradizionalmente, ma ciò non funzionerà se si è limitati a un file .json
effettivo.
Un'altra opzione è richiedere il file di testo tramite ajax, con jquery o qualcosa del genere.
$.get('somefile.json', function(data) {
// do something with your data
});
Sono andato con 'requirejs-plugins' e ha un plugin' json' che ho completamente trascurato. Tuttavia usa 'text' come dipendenza. Quindi grazie! Ho appena iniziato a lavorare con requirejs oggi sul browser ed è fantastico. Spero ancora che quando costruisco smetterà di usare ajax per recuperare il documento. – ThomasReggi
@ThomasReggi controlla la mia risposta adattata per informazioni su quello –
Ho problemi con l'utilizzo del testo! per contenuti JSON se combinato con r.js per l'ottimizzazione. Solo un avviso. – SimplGy
questo distacco di una risposta, perché:
- è ciò che l'utente pone la domanda effettivamente utilizzato come soluzione
- è più pulita da guardare che richiede il testo, dal momento che fa sempre la JSON.parse() per te.
RequireJS has a JSON plugin. La sintassi è semplicemente:
require(['json!someData.json'], function(data){
...
})
per coloro che trovano questo poco chiaro, ["json!/Some/ajax/endpoint"] funziona molto bene – penguat
È possibile caricare il file locale? – Erik
@erik Normalmente utilizzo un web server (tramite gulp) per svilupparlo localmente, quindi carica sempre un URL http: // o https: //. Ti consiglierei di fare lo stesso. Se stai chiedendo del file: // URL, non lo so. – mikemaccana
- 1. Carica file locale in modo dinamico utilizzando Requirejs
- 2. Carica il file JSON locale nella variabile
- 3. Carica i file di origine dal file JSON in Gulpjs
- 4. Carica JSON tramite WebClient
- 5. carica json in variabile
- 6. Carica file tramite C# utilizzando JSON request e RestSharp
- 7. Carica le proprietà java all'interno del blocco di inizializzazione statico
- 8. Python JSON carica/scarica interruzioni Unicode?
- 9. SmartGwt - Carica dati griglia da JSON
- 10. Carica più file FTP
- 11. Carica file nell'app Express.js
- 12. Carica file manifest cache
- 13. Carica file su ftp
- 14. Carica file ASP.NET 5
- 15. Carica file di simboli
- 16. utilizza Assembly. Carica un riferimento statico o riferimento dinamico?
- 17. requirejs - combina diversi file in file js singoli che non dipendono dal requirejs
- 18. Carica file JSON locali tramite file: // attiva la violazione di origine null tra domini, soluzione? (jQuery)
- 19. Caricare i file nell'ordine specifico con RequireJs
- 20. App-Engine (Java) File Carica
- 21. Come: Carica file con ember.js
- 22. Carica un file utilizzando file_get_contents
- 23. Carica un file su Skydrive
- 24. Carica file BIG via HTTP
- 25. Carica chiavi RSA da file
- 26. Carica file dalla directory principale
- 27. Carica file utilizzando WebApi, ajax
- 28. Carica più file in CodeIgniter
- 29. Carica un file utilizzando boto
- 30. carica nuovi file nella directory
Esattamente qual è la tua domanda allora? perché non vedo alcun problema con quello. –
@ WillemD'haeseleer Beh, non sono sicuro di come dovrei farlo. Non riesco a includere un file '.json' nei percorsi. – ThomasReggi