D3库可以与Electron(Atom shell)一起使用吗?

时间:2015-09-25 03:17:37

标签: javascript node.js d3.js electron

Electron的网站称用电子制作的应用程序可以访问节点模块。他们可以访问D3库吗?如果是这样,怎么设置?

3 个答案:

答案 0 :(得分:9)

D3以Node.js module形式提供,可以导入到您要用于呈现可视化应用程序的JavaScript代码中。

作为如何将D3集成到Electron应用程序的示例,请查看我在GitHub上的D3 Space Filler Explorer应用程序。该应用程序通过多个D3饼图和D3树形图可视化磁盘空间使用。

我发现有用的一种模式是将SVG元素注入到D3可视化中,这与D3示例中的常用方法不同,后者在可视化中创建了SVG元素。请参阅/app/js/pie-chart.js和/app/js/treemap-chart.js文件中的此依赖项注入示例。

答案 1 :(得分:2)

所有(至少在理论上)纯JS模块与电子兼容,因为它还提供(CommonJS)javascript运行时环境(io.js)。

唯一重要的是电子不会自动设置NODE_PATH变量,也不会查看require d模块的系统/全局模块路径。因此,您必须确保d3.js上有NODE_PATH的路径:

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

答案 2 :(得分:2)

我们在使用Npm安装d3的工作团队中解决了这个问题:

npm install d3 --save

在index.html中我们把它放在:

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

我们从nv.d3.js第18行得到了这个问题,有一个小函数需要d3作为节点模块,在我们的应用程序中我们在bower_components中使用它,所以用npm安装它并直接在你的索引中请求来自node_modules,就像我说的那样可能会像我们一样解决这个问题。