【发布时间】:2015-04-29 15:26:21
【问题描述】:
我真的是 nodejs 的新手,我在这 3-4 天里让自己参加一个速成课程,以便在这方面做得更好......尝试运行这段代码:
(function () {
var jsdom = require('jsdom');
jsdom.env({
html: '<html><body><h1>Hello World!</h1><p class="hello">Heya Big World!</body></html>'
//scripts: [
//'http://code.jquery.com/jquery-1.5.min.js'
//]
}, function (err, window) {
//var $ = window.jQuery;
var $ = require('jquery')(window)
$('body').append("<div class='testing'>Hello World</div>");
console.log($(".hello").text()); // outputs Hello World
});
}());
我收到此错误:
/root/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js:2
const xnv = require("xml-name-validator");
^^^^^
SyntaxError: Use of const in strict mode.
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/root/node_modules/jsdom/lib/jsdom/level1/core.js:8:20)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10
我无能为力解决它。抱歉,这个问题很简单......
【问题讨论】:
-
@ZunedAhmed 我没有使用严格模式,它正在模块中使用... id 真的而不是编辑模块源代码...
-
请注意,jsdom 不再支持 NodeJS(您可以使用旧版) - jsdom 认为 NodeJS 旧版软件,仅支持 io.js 版本 4。github.com/tmpvar/jsdom/blob/master/Changelog.md
-
您可以将
const更改为var。如果您使用--harmony标志启动 node.js,它也可能会起作用。而且,你运行的是什么版本的 node.js? -
@jfriend00 谢谢,当我测试它是否正确时我会告诉你,以便你可以添加它作为答案。