1

我是 JavaScript 新手(来自 c++),我问自己是否可以编译和调试 JavaScript 代码。我尝试将 VisualStudio2012 和 SublimeText2 与 Node.js 一起使用,但在这两种情况下,当我尝试使用库 (3djs) 时都会出现编译错误。

在 SublimeText2 中,错误消息是“ReferenceError: d3 is not defined”。我在尝试编译这个 d3js 示例时遇到了这个错误:http: //bl.ocks.org/mbostock/3828981

奇怪的是,当我在某些浏览器中打开它时,该示例运行良好。

谁能告诉我我做错了什么,或者是否可以编译或调试 JavaScript 代码?(对不起,这似乎是一个非常初学者的问题,但我找了几个小时都没有找到答案......)

此致!

4

1 回答 1

1

node.js 也不编译 JavaScript(不是 C++ 意义上的;JavaScript 解释器通常是即时编译)。node.js 和浏览器之间的主要区别在于 node.js 不会尝试向您隐藏错误。

所以第一个问题是你是否在你的项目中正确地包含了这个库。为此,我们需要查看用于加载/导入它的源代码。

如果您确定该库已正确加载,那么您可能会触发 JavaScript 解释器中的错误。尝试安装最新版本或最新稳定版本或之前的版本。

[编辑]在 HTML 中,您使用<script>元素将脚本包含在页面的上下文中。使用 node.js 时,您必须使用require()

var d3 = require('./d3.js')

也就是说,D3.js 是一个客户端框架。它需要像 DOM 这样的标准浏览器环境。它在 node.js 中不起作用。node.js 期望模块(= 可以使用导入的东西require)具有某种格式

所以简单的答案是:您不能在 IDE 中“编译”和调试 JavaScript 代码。您总是需要创建一个 HTML 页面并在浏览器中打开它。所有现代浏览器都有控制台,以及调试和检查 JavaScript、CSS、HTML 和 DOM 的工具。

于 2014-01-21T11:29:21.117 回答