Nodejs 使用严格模式解析 dom 错误
Nodejs parsing dom error with strict mode
我真的是 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
而且我对解决它一无所知。很抱歉这个问题...
帮我把 jsdom 从 "latest" 重新安装到旧版本 "3.1.2"。 =24=]
1) 删除 node_modules
中的 jsdom 文件夹
2) 将 package.json 中的依赖项更改为:
"jsdom": "3.1.2"
3) 当然还有 运行 "npm install"
希望对您有所帮助!
最新版本的 jsdom 不再适用于 Node.js。这是来自他们的 github 页面。
Note that as of our 4.0.0 release, jsdom no longer works with
Node.js™, and instead requires io.js. You are still welcome to install
a release in the 3.x series if you are stuck on legacy technology like
Node.js™
因此,正如 Roman Dunin 所说,如果您想将 jsdom 与 Node.js 一起使用,请回滚到 3.x 版本。版本 3.1.2 是版本 4.0.0
之前的最后一个版本
我真的是 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
而且我对解决它一无所知。很抱歉这个问题...
帮我把 jsdom 从 "latest" 重新安装到旧版本 "3.1.2"。 =24=]
1) 删除 node_modules
中的 jsdom 文件夹2) 将 package.json 中的依赖项更改为:
"jsdom": "3.1.2"
3) 当然还有 运行 "npm install"
希望对您有所帮助!
最新版本的 jsdom 不再适用于 Node.js。这是来自他们的 github 页面。
Note that as of our 4.0.0 release, jsdom no longer works with Node.js™, and instead requires io.js. You are still welcome to install a release in the 3.x series if you are stuck on legacy technology like Node.js™
因此,正如 Roman Dunin 所说,如果您想将 jsdom 与 Node.js 一起使用,请回滚到 3.x 版本。版本 3.1.2 是版本 4.0.0
之前的最后一个版本