2015-06-21 24 views
0

下面是使用script参数的jsdom代码的最小示例。尽管所有试图找出一个办法来引用外部JSS的尝试,我不断收到这个jsdom中外部脚本的可变引用

ReferenceError: exVar is not defined

有谁知道这里是什么,以及如何解决它的问题呢?

stackOverTest.js

var jsdom = require("jsdom"); 

jsdom.env({ 
    "html": "<html><body></body></html>", 
    scripts: [__dirname + "exScript.js"], 
    done: function(er, win) { 
    console.log("exVar: ", exVar); 
    } 
}); 

exScript.js

var exVar = "test"; 
+0

尝试'__dirname + “/exScript.js” # – laggingreflex

+0

@laggingreflex,你的建议没有帮助,不幸的是 –

+0

你的'exScript.js'和你的'stackOverTest.js'在同一个目录下吗? – laggingreflex

回答

0

您需要使用赢范围:console.log("exVar: ", win.exVar);__dirname + "/exScript.js"

+0

'exVar'在'win'范围内未定义。我实际上不明白为什么'window'与使用外部脚本有关? –

+0

你试图做我建议的吗?请给我最后的脚本。 –

+0

我的错!我没有注意到你的答案的后半部分,这在我的第一篇文章的评论中已经提到。现在它,工作!谢谢! –