是否有可能在服务器端使用Node.js使用jQuery选择器/DOM操作?


当前回答

我的工作代码是:

npm install jquery

然后:

global.jQuery   = require('jquery');
global.$        = global.jQuery;

或者如果窗口存在,则:

typeof window !== "undefined" ? window : this;
window.jQuery   = require('jquery');
window.$        = window.jQuery;

其他回答

另一种选择是使用Underscore.js。它应该提供您可能需要的JQuery服务器端功能。

我相信这个问题的答案是肯定的。 https://github.com/tmpvar/jsdom

var navigator = { userAgent: "node-js" };  
var jQuery = require("./node-jquery").jQueryInit(window, navigator);

你可以使用Electron,它允许混合browserjs和nodejs。

之前,我尝试在nodejs中使用canvas2d,但最后我放弃了。它不被nodejs默认支持,并且很难安装它(很多很多…dependeces)。 直到我使用电子,我可以很容易地使用所有我以前的browserjs代码,甚至WebGL,并传递结果值(例如。结果base64图像数据)到nodejs代码。

这些解决方案在我的电子应用程序中没有一个对我有帮助。

我的解决方案(变通方案):

npm install jquery

在index.js文件中:

var jQuery = $ = require('jquery');

在你的.js文件中,以这样的方式编写jQuery函数:

jQuery(document).ready(function() {

我的工作代码是:

npm install jquery

然后:

global.jQuery   = require('jquery');
global.$        = global.jQuery;

或者如果窗口存在,则:

typeof window !== "undefined" ? window : this;
window.jQuery   = require('jquery');
window.$        = window.jQuery;