TypeError:require(…).jsdom不是一个函数
我已经使用visual studio 2015进行nodejs web开发。
我有像nodejs下面的包。
- 身体分析器1.18.1
- expression4.15.4
- jquery 1.7.4
- html 1.0.0
- jsdom 11.2.0
和我的server.js是
var http = require('http'); var express = require('express'); var bodyParser = require('body-parser'); var jsdom = require('jsdom'); var path = require('path'); var port = process.env.port || 1337; var app = express(); app.use(bodyParser()); app.use('/bootstrap', express.static(__dirname + '/public/bootstrap')); app.use('/css', express.static(__dirname + '/public/css')); app.use('/jquery', express.static(__dirname + '/public/jquery')); app.use('/pages', express.static(__dirname + '/public/pages')); app.use('/popper', express.static(__dirname + '/public/popper')); app.use('/scripts', express.static(__dirname + '/public/scripts')); app.get('/', function (request, response) { var $ = require('jquery'); var title = $(html).find('title').text(); console.log(title); response.send("Hello node"); }); app.listen(port);
无法使用jquery获取错误。 “ TypeError:require(…)。jsdom不是函数 ”
TypeError: require(...).jsdom is not a function at create (c:\users\XYZ12\documents\visual studio 2015\Projects\NodeMovieList\NodeMovieList\node_modules\jquery\lib\node-jquery.js:5:31) at c:\users\XYZ12\documents\visual studio 2015\Projects\NodeMovieList\NodeMovieList\node_modules\jquery\lib\node-jquery.js:9435:18 at Object.<anonymous> (c:\users\XYZ12\documents\visual studio 2015\Projects\NodeMovieList\NodeMovieList\node_modules\jquery\lib\node-jquery.js:9437:2) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19)
尝试使用以下内容,
var jsdom = require('jsdom'); const { JSDOM } = jsdom; const { document } = (new JSDOM('')).window; global.document = document;
参考: https : //github.com/airbnb/enzyme/issues/942#issuecomment-314715229
这个问题是因为你正在使用的旧版本的jQuery,移动到3.2.1的较新版本。
我也面临着同样的错误,转向新版本解决了这个问题。 您可以检查此答案以获取更多信息: https : //stackoverflow.com/a/47215319/5892553