Il sito Web di Electron afferma che le applicazioni realizzate con elettrone possono avere accesso ai moduli nodo. Possono avere accesso alla libreria D3? Se sì, come può essere impostato?È possibile utilizzare la libreria D3 con l'elettrone (shell Atom)?
risposta
Tutti i moduli JS (almeno teoricamente) puri sono compatibili con l'elettrone, poiché fornisce anche un ambiente di runtime javascript (io.js) (CommonJS).
L'unica cosa importante è che l'elettrone non imposta automaticamente la variabile NODE_PATH
e non cerca nel percorso di sistema/moduli globali per i moduli require
d. Quindi devi solo fare in modo di avere il percorso d3.js
sul NODE_PATH
:
NODE_PATH="/PATH/TO/d3.js" electron /PATH/TO/APP
D3 è disponibile come Node.js module che può essere importato nel codice JavaScript che si desidera utilizzare per rendere la vostra applicazione di visualizzazione.
Come esempio di come integrare D3 in un'applicazione Electron, dare un'occhiata alla mia applicazione D3 Space Filler Explorer su GitHub. Questa applicazione visualizza l'utilizzo dello spazio su disco con più grafici a torta D3 e una mappa di tre D3.
Uno schema che ho trovato utile era quello di iniettare l'elemento SVG nella visualizzazione D3, che differisce dal solito approccio negli esempi D3 che crea l'elemento SVG nella visualizzazione. Vedi esempi di questa iniezione di dipendenza nei file /app/js/pie-chart.js e /app/js/treemap-chart.js.
abbiamo risolto questo nella nostra workteam installazione d3 con Npm:
npm install d3 --save
e in index.html mettiamo questo:
<script>var d3 = require("d3")</script>
Stavamo ottenendo questo problema da nv. d3.js linea 18, c'è una piccola funzione che richiede d3 come modulo nodo e nella nostra app lo stavamo usando in bower_components, quindi installandolo con npm e richiedendo nel tuo indice direttamente da node_modules come come ho detto probabilmente risolverà questo problema come ha fatto con noi.
- 1. È possibile utilizzare Console2 con Powershell?
- 2. Atom Electron - Chiudi la finestra con javascript
- 3. È possibile utilizzare le funzioni definite nella shell da python?
- 4. È possibile utilizzare Haskell per scrivere script di shell?
- 5. È possibile utilizzare ACRA in un progetto di libreria?
- 6. libreria java per la lettura di feed RSS e ATOM
- 7. È possibile creare una shell C interattiva?
- 8. È possibile utilizzare un layout del pacchetto circolare in d3.js con dimensioni di cerchio fisse?
- 9. È possibile utilizzare OpenCV o una libreria simile in Javascript?
- 10. È possibile utilizzare la riflessione con istanze RealProxy?
- 11. È possibile utilizzare la doppia autenticazione con symfony2?
- 12. È possibile utilizzare la clausola SELECT INTO con UNION [ALL]?
- 13. È possibile utilizzare la distribuzione di Click Once con F #?
- 14. È possibile utilizzare la finestra mobile con jrebel o dcevm
- 15. È possibile utilizzare Mockito con Kotlin senza aprire la classe?
- 16. Non è possibile utilizzare UISearchController con UICollectionView?
- 17. È possibile utilizzare Django con py2exe?
- 18. È possibile utilizzare Vagrant con intelliJ?
- 19. È possibile utilizzare "exe installers" con pip?
- 20. È possibile utilizzare System.Transactions.TransactionScope con SqlBulkCopy?
- 21. è possibile utilizzare Eigen con c?
- 22. è possibile utilizzare batman.js con express?
- 23. È possibile utilizzare una counter_cache con has_many?
- 24. È possibile utilizzare connessioni persistenti con System.Net.Http.HttpClient?
- 25. È possibile utilizzare unique_lock con un recursive_mutex?
- 26. libreria Javascript funzione chiamata d3
- 27. È possibile creare una libreria condivisa con la libreria utilizzata per il collegamento statico?
- 28. È possibile utilizzare Cruise Control con VB6?
- 29. È possibile utilizzare un MemoryStream con FileStreamResult?
- 30. È possibile utilizzare UDP con socket.io?
Hai avuto problemi ad aggiungere SVG usando d3? È per questo che lo metti nel markup piuttosto che crearlo con d3? – felix
Entrambi gli approcci funzionano correttamente. Tuttavia, penso che sia una buona pratica di progettazione iniettare l'elemento SVG nel codice che popola quell'elemento SVG per rendere un grafico D3. Questo ha due vantaggi: (1) Il codice di rendering è focalizzato sul rendering del grafico senza bisogno di sapere dove si trova il grafico nel documento HTML. (2) Il codice di rendering grafico può essere riutilizzato più facilmente nello stesso documento HTML. Ad esempio, D3 Space Filler Explorer ha un grafico a torta per disco. Per rendere più grafici a torta su disco, viene creato un elemento SVG per ogni disco, che viene passato al codice di rendering del grafico a torta. –
Inizialmente stavo creando l'elemento svg usando d3, ma per qualche ragione assolutamente non creerebbe nulla. Metterlo in html e selezionarlo è l'unico modo per farlo funzionare. In realtà preferirei creare il/i proprio/i svg (i) in modo tale che a un componente possa essere dato un id elemento html per visualizzarsi all'interno e il markup non deve essere conforme ai requisiti interni del componente. – felix