【发布时间】:2017-11-16 01:06:33
【问题描述】:
我刚刚使用 npm 安装了 d3。在 package.json 中,它显示依赖关系 "d3": "^4.11.0" version,。
我尝试用下面的代码加载一个简单的 json 文件:
const d3 = require('d3')
d3.json('jsonfile.json', (err, data) => {
if (err) {
console.log(err)
}
data.keys.map((t) => {
console.log(t)
})
})
但是我收到了这个错误:
SyntaxError: Unexpected token T in JSON at position 0
json文件其实是可以的。我使用此工具进行了验证:https://codebeautify.org/jsonvalidator。
但是,当我删除这一行 const d3 = require('d3') 并将脚本直接插入 HTML 文件时:
<script type='text/javascript' src='/js/d3.min.js'></script>
...使用3.5.5版本,json文件被加载。
d3 版本^4.11.0 有什么新东西可以加载本地文件吗?
【问题讨论】:
-
您是否使用 v4 脚本尝试了相同的解决方案?
<script src="https://d3js.org/d3.v4.min.js"></script> -
嗨。它也适用于该行。我认为问题出在使用
npm安装d3之后,特别是新版本。我一直在使用require('d3')读取文件,但直到现在我才拥有SyntaxError:。 -
您是在浏览器中运行它还是作为 nodejs 应用程序运行?使用 webpack 创建包时,我无法在浏览器中重现此问题。如果您在浏览器中运行它,那么浏览器如何解决
require函数?浏览器 JavaScript 没有 require,除非您使用 requirejs 或将代码与 webpack 之类的东西捆绑在一起。 -
嗨,@HMR。我正在使用 nodejs 应用程序。我正在使用
browserify和gulp执行一些任务,例如创建bundle.js文件。 -
我在安装 d3 6.3.1 版本时遇到了同样的问题,无法从 php 从本地 url 加载数据,但与
<script src="https://d3js.org/d3.v4.min.js"></script>完美配合
标签: javascript json node.js d3.js