with tutorial programs made framework electronjs based apps app javascript node.js d3.js electron

javascript - tutorial - ¿Se puede usar la biblioteca D3 con el electrón(caparazón Atom)?



electronjs doc (3)

El sitio web de Electron dice que las aplicaciones hechas con electrones pueden tener acceso a módulos de nodos. ¿Pueden tener acceso a la biblioteca D3? Si es así, ¿cómo se puede configurar?


Todos los módulos JS puros (al menos teóricamente) son compatibles con el electrón, ya que también proporciona un entorno de ejecución javascript (CommonJS) (io.js).

Lo único importante es que el electrón no establece automáticamente la variable NODE_PATH y no busca en la ruta del sistema / módulos globales los módulos require . Así que solo tiene que asegurarse de tener la ruta de acceso a d3.js en su NODE_PATH :

NODE_PATH="/PATH/TO/d3.js" electron /PATH/TO/APP


D3 está disponible como un módulo Node.js que puede importarse en el código JavaScript que desea utilizar para representar su aplicación de visualización.

Como ejemplo de cómo integrar D3 en una aplicación Electron, eche un vistazo a mi aplicación D3 Space Filler Explorer en GitHub. Esta aplicación visualiza el uso de espacio en disco con múltiples gráficos circulares D3 y un mapa de árbol D3.

Un patrón que encontré útil fue inyectar el elemento SVG en la visualización D3, que difiere del enfoque habitual en los ejemplos D3 que crea el elemento SVG en la visualización. Vea ejemplos de esta inyección de dependencia en los archivos /app/js/pie-chart.js y /app/js/treemap-chart.js.


Solucionamos esto en nuestro equipo de trabajo instalando d3 con Npm:

npm install d3 --save

y en index.html ponemos esto:

<script>var d3 = require("d3")</script>

Obtenemos este problema de la línea 18 de nv.d3.js, hay una pequeña función que requiere d3 como módulo de nodo y en nuestra aplicación lo usamos en bower_components, por lo que lo instalamos con npm y solicitamos en su índice directamente de node_modules como como dije probablemente resolverá este problema como lo hizo con nosotros.