Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keep getting error for browserless jquery in node

I am trying to run a node script and an html page but I keep getting an error. The script I am trying to run is:

node script.js page.html

The script.js file has the following:

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);
});

my page.html has the following code:

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

my packages.json file reads as follows:

{
  "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"
}

I have the jquery and optimist modules installed but I keep getting the following error:

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)

What is causing this error

like image 440
Amen Ra Avatar asked Nov 14 '22 00:11

Amen Ra


1 Answers

The jquery module does not work with windows.

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

I am sorry that I cannot be more helpful.

BTW, your code works on my Linux box.

like image 197
leeway Avatar answered Dec 28 '22 03:12

leeway