Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的编译错误:";未定义libraryVar;_Javascript_Compilation_Undefined_External_Referenceerror - Fatal编程技术网

JavaScript中的编译错误:";未定义libraryVar;

JavaScript中的编译错误:";未定义libraryVar;,javascript,compilation,undefined,external,referenceerror,Javascript,Compilation,Undefined,External,Referenceerror,我不熟悉JavaScript(来自c++),我问自己是否可以编译和调试JavaScript代码。我尝试将VisualStudio2012和SublimiteText2与Node.js一起使用,但在这两种情况下,我在尝试使用库(3djs)时都遇到了编译错误 在SublimiteText2中,错误消息是“ReferenceError:d3未定义”。 我在编译此d3js示例时出错: 奇怪的是,当我在一些浏览器中打开这个示例时,它工作得非常好 有谁能告诉我我做错了什么,或者是否有可能编译或调试JavaS

我不熟悉JavaScript(来自c++),我问自己是否可以编译和调试JavaScript代码。我尝试将VisualStudio2012和SublimiteText2与Node.js一起使用,但在这两种情况下,我在尝试使用库(3djs)时都遇到了编译错误

在SublimiteText2中,错误消息是“ReferenceError:d3未定义”。 我在编译此d3js示例时出错:

奇怪的是,当我在一些浏览器中打开这个示例时,它工作得非常好

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


致以最良好的祝愿

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

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

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

[EDIT]在HTML中,可以使用
元素在页面上下文中包含脚本。使用node.js时,必须使用
require()

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


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

如何“编译”JavaScript?这是一种脚本语言,在运行时解释。这就是为什么我问是否可以编译它。我知道在运行JavaScript之前通常不会编译JavaScript,但后来我看到了本教程并尝试了它:它工作得很好,但如果我尝试使用库,它会抛出这个引用错误。非常感谢您的回答!我认为这个错误太大了,浏览器根本无法隐藏。如果找不到d3对象,则不会显示svg图形,但示例会在浏览器中正确显示。加上VisualStudio显示了相同的错误,所以我认为这不可能是node.js中的错误。。。但是我将尝试更高版本。为什么您认为应该在代码中定义
d3
?在浏览器中,您将有一个包含框架的
脚本
元素。如何在代码中包含框架?我在VisualStudio中创建了一个JavaScript项目,该项目自动生成一个项目结构,并集成了.html文件。一开始,我认为在.html文件中包含JavaScript框架将在整个项目结构中起作用,因为html文件链接在VisualStudio项目的.jsproj文件中。我没有找到在纯JavaScript文本中使用框架的正确方法。在我在互联网上读到的每一次讨论中,人们都说你只能用.html文件或JSON来做……好了,我开始明白误解是什么了。请阅读我的编辑。
var d3 = require('./d3.js')