我是 JavaScript 新手(来自 C++),并问自己是否可以编译和调试 JavaScript 代码。我尝试将 VisualStudio2012 和 SublimeText2 与 Node.js 一起使用,但在这两种情况下,当我尝试使用库 (3djs) 时都会出现编译错误。
在 SublimeText2 中,错误消息是“ReferenceError:d3 未定义”。 我在尝试编译此 d3js 示例时遇到错误: http://bl.ocks.org/mbostock/3828981
奇怪的是,当我在某些浏览器中打开该示例时,它运行得非常好..
谁能告诉我我做错了什么,或者是否可以编译或调试 JavaScript 代码? (抱歉,这似乎是一个非常初学者的问题,但我搜索了几个小时没有找到答案......)
最诚挚的问候!
最佳答案
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
导入的内容)具有 certain format .
所以简单的答案是:您无法在 IDE 中“编译”和调试 JavaScript 代码。您始终需要创建一个 HTML 页面并在浏览器中打开它。所有现代浏览器都有控制台以及用于调试和检查 JavaScript、CSS、HTML 和 DOM 的工具。
关于javascript - JavaScript 编译错误 : "libraryVar is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21254778/