Node.js – 安装后无法使用jQuery
我用下面的语句为Node安装了jQuery:
npm install jquery
在我的服务器端Node.js代码的开始,我把这个:
var $ = require('jquery');
它安装得很好,模块在我的服务器上可见。 现在,我正在尝试在同一个文件中执行此操作:
$.each(rows, function(num, row){ console.log(row.username); });
但是我得到以下错误:
TypeError: Object function ( w ) { if ( !w.document ) { throw new Error( "jQuery requires a window with a document" ); } return factory( w ); } has no method 'each' at Query._callback (/home/lights/public_html/apps/node_servers/fircik_gamelist.js:69:5)
它说“没有方法,我不明白,因为,显然,jQuery应该有这种方法。 在我安装jQuery模块之前,我尝试运行相同的代码,它给出了错误ReferenceError: $ is not defined
,并且安装成功完成后,该错误不再存在。
那么我在这里错过了什么?
当它说'jQuery需要一个窗口与文档'是什么意思?
jQuery是为客户端JavaScript创build的库(在Web浏览器中运行的JavaScript)。 运行在浏览器中的Javascript有一个window
和一个document
对象。 在服务器(Node.js)上运行的Javascript没有(因为它没有window
或document
当然..)。
所以这可能是jQuery不能在服务器端工作的原因。
您也可以使用原生的javascript循环访问数组的元素:
for(var i = 0; i < rows.length; i++) { console.log(rows[i].username); }
或者(正如Pointy指出的那样)在Array原型上使用本地.forEach()函数:
rows.forEach(function(row) { console.log(row.username); });