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


当前回答

2016年,事情就简单多了。使用控制台将jquery安装到node.js:

npm install jquery

将它绑定到node.js代码中的变量$(例如-我习惯了它):

var $ = require("jquery");

做的东西:

$.ajax({
    url: 'gimme_json.php',
    dataType: 'json',
    method: 'GET',
    data: { "now" : true }
});

也适用于gulp,因为它基于node.js。

其他回答

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

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

在写这篇文章的时候,也有保持的Cheerio。

快速,灵活,精益的实现核心jQuery设计 特别是针对服务器。

我手动简单地做了,没有任何额外的包或代码。

npm i jquery

然后我复制jquery.min.js文件从node_modules/jquery/dist目录到public/js

<script type='text/javascript' src='/js/jquery.min.js'></script>
<script>
  $(document).ready(function() { console.log( "ready!" ); });
</script>

它会起作用的。测试它

注意,复制/粘贴文件并不是最理想的事情,你可以将文件启用为静态文件,这样expressJS就可以读取它了。但对我来说,把它复制到静态公共目录更容易。

您必须使用新的JSDOM API来获取窗口。

const jsdom = require("jsdom");
const { window } = new jsdom.JSDOM(`...`);
var $ = require("jquery")(window);

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

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

npm install jquery

在index.js文件中:

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

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

jQuery(document).ready(function() {