在节点中不断收到无浏览器 jquery 的错误

Posted

技术标签:

【中文标题】在节点中不断收到无浏览器 jquery 的错误【英文标题】:Keep getting error for browserless jquery in node 【发布时间】:2012-08-17 06:46:44 【问题描述】:

我正在尝试运行节点脚本和 html 页面,但我不断收到错误消息。我要运行的脚本是:

node script.js page.html

script.js 文件有以下内容:

var argv = require('optimist').argv,
$ = require('jquery'),
fs = require('fs');

var file = argv._[0];

var html = fs.readFileSync(file, 'UTF-8');

 $(html).find('p').each(function(index) 
var content = $(this).html();

console.log('Paragraph ' + (index + 1) + ': ' + content);
);

我的 page.html 有以下代码:

<html>
 <body>
  <p>Apple</p> 
  <span>Unrelated</span>
  <p>Orange</p>
  <div>Steak</div>
  <p>Banana</p>
 </body>
</html>

我的 packages.json 文件内容如下:


  "name": "paragraphs",
  "version": "1.0.0",
  "main": "script.js",
  "scripts": 
     "test": "echo \"Error: no test specified\" && exit 1"
   ,
  "dependencies": 
      "optimist": "0.3.4",
      "jquery": "1.7.3"
   ,
   "author": "Joe LeBlanc",
   "license": "BSD"

我安装了 jquery 和 optimist 模块,但我不断收到以下错误:

C:\Documents and Settings\Amen.Ra\Desktop\paragraphs\node_modules\jquery\lib\node-jquery.js:10
window.XMLHttpRequest.prototype.withCredentials = false;

TypeError: Cannot read property 'prototype' of undefined at create (C:\Documents and Settings\Amen.Ra\Desktop\paragraphs\node_modules\jquery\lib\node-jquery.js:10:26)
at C:\Documents and Settings\Amen.Ra\Desktop\paragraphs\node_modules\jquery\lib\node-jquery.js:9435:18
at Object.<anonymous> (C:\Documents and Settings\Amen.Ra\Desktop\paragraphs\node_modules\jquery\lib\node-jquery.js:9437:2)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (C:\Documents and Settings\Amen.Ra\Desktop\paragraphs\script.js:2:6)

是什么导致了这个错误

【问题讨论】:

你运行的是哪个版本的 node.js? github.com/coolaj86/node-jquery/issues/35 看起来你需要 0.8.2+ 确实,可以很好地从 Node v0.8.7 上的这篇文章中复制粘贴。 我为我的迟到道歉我确实有版本 0.8.7,但它仍然给我同样的错误 【参考方案1】:

jquery 模块不适用于 windows。

https://github.com/coolaj86/node-jquery#does-not-work-on-windows

很抱歉,我无法提供更多帮助。

顺便说一句,你的代码可以在我的 Linux 机器上运行。

【讨论】:

以上是关于在节点中不断收到无浏览器 jquery 的错误的主要内容,如果未能解决你的问题,请参考以下文章

Joomla 3.2升级后错误(无配置文件)

“502错误网关,服务器作为网关或代理,从上游服务器收到了无效的响应”怎么处理?谁能帮我?

浏览器提示:源映射错误:request failed with status 404 源 URL:http://xxx.js 源映射 URL:jquery.min.map

浏览器提示:源映射错误:request failed with status 404 源 URL:http://xxx.js 源映射 URL:jquery.min.map

在 PhoneGap+jQuery Mobile 中使用 ajax 的 CORS 无法在设备上运行,但在浏览器上运行

浏览器返回错误信息