Javascript Node.js+;出现jQuery错误

Javascript Node.js+;出现jQuery错误,javascript,jquery,node.js,jsdom,Javascript,Jquery,Node.js,Jsdom,我想从数据库中检索数据,并根据数据生成html文件。 然后使用Node.js包“pg”从javascript连接数据库,并使用jQuery生成html文件 但是出现了错误“jQuery需要一个带有文档的窗口” 我的源代码如下 server.js var pg = require('pg'); var http = require('http'); var $ = require('jquery'); var fs = require('fs'); var conString = "postgr

我想从数据库中检索数据,并根据数据生成html文件。 然后使用Node.js包“pg”从javascript连接数据库,并使用jQuery生成html文件

但是出现了错误“jQuery需要一个带有文档的窗口”

我的源代码如下

server.js

var pg = require('pg');
var http = require('http');
var $ = require('jquery');
var fs = require('fs');

var conString = "postgres://uname:@localhost:5432/shop";
var server = http.createServer();
server.on('request', doRequest);
server.listen(3000, 'localhost');
function doRequest(request, response) {
    var client = new pg.Client(conString);
    client.connect(function(err) {
    if(err) {
        return console.error('could not connect to postgres', err);
    }
    client.query('...', function(err, result) {
        response.writeHead(200, {'Content-Type': 'text/html'});
        if(err) {
            return console.error('error running query', err);
        }
        do something;
        response.end();
        client.end();
    });
    fs.readFile('./index.html', function(err, data){
        var body = data.toString();
        console.log($(body).find('#hoge').html());
    });
});
};
我尝试像下面这样导入“jsdom”,但出现了错误“jsdom不是函数”

js(已修复)


我安装了“jquery@3.2.1“和”jsdom@11.5.1“

jQuery应该在浏览器中运行,而不是在服务器中运行

使用服务器端模板引擎,例如pug

var pg = require('pg');
var http = require('http');
var jsdom = require('jsdom');
var fs = require('fs');

var conString = "postgres://uname:@localhost:5432/shop";
var server = http.createServer();
server.on('request', doRequest);
server.listen(3000, 'localhost');
function doRequest(request, response) {
    var client = new pg.Client(conString);
    client.connect(function(err) {
    if(err) {
        return console.error('could not connect to postgres', err);
    }
    client.query('...', function(err, result) {
        response.writeHead(200, {'Content-Type': 'text/html'});
        if(err) {
            return console.error('error running query', err);
        }
        do something;
        response.end();
        client.end();
    });
    fs.readFile('./index.html', function(err, data){
        var window = jsdom.jsdom(data.toString()).parentWindow;
        var $ = require('jquery')(window);
        var body = data.toString();
        console.log($(body).find('#hoge').html());
    });
});
};