我正在尝试运行节点脚本和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)
导致此错误的原因
答案 0 :(得分:1)
jquery模块不适用于Windows。
https://github.com/coolaj86/node-jquery#does-not-work-on-windows
我很抱歉我无法提供更多帮助。
顺便说一下,你的代码可以在我的Linux机器上运行。