通过HTML加载D3模块与节点需求语句

问题

执行以下代码会根据模块的加载位置而产生不同的结果。

d3.tsv("data.tsv", function(error, data) { if (error) throw error; console.log(data); } 

当D3库加载到html文件中时,使用下面的脚本标签

 <script src="node_modules/d3/build/d3.js" type="text/javascript"></script> 

在上面的例子中,data data.tsv中的data按照预期被导入到variablesdata中。

当从节点terminal(REPL)或脚本导入库时,如下所示, data的内容最终为三个对象数组,其中所有对象都包含Error: connect ECONNREFUSED 127.0.0.1:80

 let d3 = require('d3'); d3.tsv("data.tsv", function(error, data) { if (error) throw error; console.log(data); } 

放弃

这是一个电子应用程序,问题发生在渲染过程而不是主要过程。 D3正被用来组件UI。 浏览器安全性如下,解释如何通过本地托pipe文件(如使用本地Web服务器)或使用Electron API 访问本地文件轻松解决此问题。

如前所述,D3文档小组解释说, 浏览器安全限制了文件的访问 ,但是这两个import之间的function差异是什么,为什么它只能以一种方式工作,而不是另一种?