我可以将jQuery与Node.js一起使用吗?
2022-08-29 22:40:45
是否可以在服务器端使用 Node.js 使用 jQuery 选择器/DOM 操作?
是否可以在服务器端使用 Node.js 使用 jQuery 选择器/DOM 操作?
更新(2018 年 6 月 27 日):看起来有一个重大更新,导致原始答案不再有效。我找到了这个答案,解释了现在如何使用。我已经复制了下面的相关代码。jsdom
jsdom
var jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM();
const { document } = (new JSDOM('')).window;
global.document = document;
var $ = jQuery = require('jquery')(window);
注意:原始答案没有提到您需要安装jsdom以及使用npm install jsdom
更新(2013年末):官方的jQuery团队终于接管了npm上软件包的管理:jquery
npm install jquery
然后:
require("jsdom").env("", function (err, window) {
if (err) {
console.error(err);
return;
}
var $ = require("jquery")(window);
});
是的,你可以,使用我创建的名为nodeQuery的库
var Express = require('express')
, dnode = require('dnode')
, nQuery = require('nodeQuery')
, express = Express.createServer();
var app = function ($) {
$.on('ready', function () {
// do some stuff to the dom in real-time
$('body').append('Hello World');
$('body').append('<input type="text" />');
$('input').live('click', function () {
console.log('input clicked');
// ...
});
});
};
nQuery
.use(app);
express
.use(nQuery.middleware)
.use(Express.static(__dirname + '/public'))
.listen(3000);
dnode(nQuery.middleware).listen(express);