我对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
我无能为力地解决它。对不起那个小问题...
答案 0 :(得分:4)
对我帮助重新安装&#34;最新&#34; jsdom 到旧版&#34; 3.1.2&#34;
1)删除node_modules中的jsdom文件夹
2)将package.json中的依赖项更改为:
"jsdom": "3.1.2"
3)当然,运行&#34; npm install&#34;
希望它对你有所帮助!
答案 1 :(得分:4)
最新版本的jsdom不再适用于Node.js.这是来自他们的github页面。
请注意,从我们的4.0.0版开始,jsdom不再适用 Node.js™,而是需要io.js.您仍然可以安装 3.x系列中的一个版本,如果您坚持使用遗留技术 的Node.js™
正如Roman Dunin所说,如果你想将jsdom与Node.js一起使用,请回滚到3.x版本。版本3.1.2是版本4.0.0之前的最后一个版本