是否有可能在服务器端使用Node.js使用jQuery选择器/DOM操作?
当前回答
首先,安装它
npm install jquery -S
安装后,您可以如下所示使用它
import $ from 'jquery';
window.jQuery = window.$ = $;
$(selector).hide();
你可以查看我写的完整教程:https://medium.com/fbdevclagos/how-to-use-jquery-on-node-df731bd6abc7
其他回答
你可以使用Electron,它允许混合browserjs和nodejs。
之前,我尝试在nodejs中使用canvas2d,但最后我放弃了。它不被nodejs默认支持,并且很难安装它(很多很多…dependeces)。 直到我使用电子,我可以很容易地使用所有我以前的browserjs代码,甚至WebGL,并传递结果值(例如。结果base64图像数据)到nodejs代码。
模块jsdom是一个很棒的工具。但如果你想评估整个页面,并在服务器端做一些奇怪的事情,我建议在它们自己的上下文中运行它们:
vm.runInContext
所以像require / CommonJS这样的东西不会破坏你的Node进程本身。
你可以在这里找到相关文档。干杯!
据我所知没有。DOM是一个客户端的东西(jQuery不解析HTML,但解析DOM)。
下面是一些当前的Node.js项目:
https://github.com/ry/node/wiki (https://github.com/nodejs/node)
SimonW的djangode非常酷…
我的工作代码是:
npm install jquery
然后:
global.jQuery = require('jquery');
global.$ = global.jQuery;
或者如果窗口存在,则:
typeof window !== "undefined" ? window : this;
window.jQuery = require('jquery');
window.$ = window.jQuery;
jQuery模块可以通过以下方式安装:
npm install jquery
例子:
var $ = require('jquery');
var http = require('http');
var options = {
host: 'jquery.com',
port: 80,
path: '/'
};
var html = '';
http.get(options, function(res) {
res.on('data', function(data) {
// collect the data chunks to the variable named "html"
html += data;
}).on('end', function() {
// the whole of webpage data has been collected. parsing time!
var title = $(html).find('title').text();
console.log(title);
});
});
jQuery在Node.js中的引用**:
http://quaintous.com/2015/07/31/jqery-node-mystery/ http://www.hacksparrow.com/jquery-with-node-js.html