当我尝试执行并编写我为测试目的而创建的脚本文件时,我在nodejs中遇到了问题。
在我在webserver(Linux OS)中实现webservice之前,我需要在localhost(Windows操作系统)中测试它。
我在安装nodejs后立即安装了jsdom和jquery,但仍然出现以下消息错误:
TypeError:无法读取未定义的属性“文档”
这是在我尝试浏览这个名为index.js
的JS脚本:
// Carrega a biblioteca HTTP do Node.js.
var http = require('http');
var $ = require('jquery')(require("jsdom").jsdom().parentWindow);
//var $ = require('jquery');
// Cria um serviço web para tratar a requisição de resposta da mensagem Hello World.
var server = http.createServer(function (request, response) {
// Define os parâmetros de cabeçalho de resposta.
// usage
response.writeHead(200, {'Content-Type': 'text/html'});
// Escreve uma mensagem de resposta do servidor.
response.write('<html><body><h1>Hello World</h1></body></html>');
// usage
$("body").append("<div>TEST</div>");
// Envia uma resposta para o cliente
response.end();
});
// Define a porta e IP que serviço executado a aplicação.
server.listen(3000);
// Imprime mensagem no terminal do servidor.
console.log('Servidor Node.js em execução.');
如果它评论以下行,它将在不识别jquery函数的情况下工作:
var $ = require('jquery')(require("jsdom").jsdom().parentWindow);
我需要在nodejs中使用jquery,但我试图谷歌这个问题,但没有成功。
以下文件中,当我node index.js
:
我是否应该尝试使用jquery成功运行node.js?
如果我需要发布任何进一步的信息,请告诉我。
更新
我试图在其他程序员计算机的Node.js路径中浏览相同的脚本。我们遇到了另一个TypeError
问题:
答案 0 :(得分:6)
请注意,从我们的4.0.0版开始,jsdom不再适用于Node.js™,而是需要io.js.如果您坚持使用Node.js™等传统技术,我们仍欢迎您在3.x系列中安装一个版本。
尝试确保安装JSDOM 3.x。
npm install jsdom@3.x