javascript - JavaScript 编译错误 : "libraryVar is not defined"

标签 javascript compilation undefined external referenceerror

我是 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/

相关文章:

javascript - 使用 Javascript 预加载数组

javascript - 如何防止公众查看您的 GA 属性 ID

c++ - C++ 编译器如何检测非常量函数体?

Javascript 提示显示为未定义

ruby 错误 : Not Finding Variable Defined in Loop

javascript - 在可内容编辑的 DIV 中选择图像

ios - 尝试构建时出现奇怪的错误

Delphi不生成任何exe文件

javascript - meteor 未捕获引用错误 : variable is not defined

javascript - 在 javascript 中使用 php 变量