Javascript 无法读取属性';获取';NodeJS中未定义的
我正在使用NodeJS。我在运行节点服务器时收到错误。我正在从server.js运行Node并调用status.js中的函数 server.js:-Javascript 无法读取属性';获取';NodeJS中未定义的,javascript,node.js,Javascript,Node.js,我正在使用NodeJS。我在运行节点服务器时收到错误。我正在从server.js运行Node并调用status.js中的函数 server.js:- const express = require('express'); const bodyParser = require('body-parser'); const http = require('http'); const getHttpsRequests = require("./status"); const app = expres
const express = require('express');
const bodyParser = require('body-parser');
const http = require('http');
const getHttpsRequests = require("./status");
const app = express();
const server = new http.Server(app);
let interval;
server.listen(3000, () => {
console.log("Server is listening on port 3000");
});
server.on('listening', () => {
interval = setInterval(() => {
getHttpsRequests(); // call the function getHttpsRequests from status.js
}, 1000);
});
status.js:-
var https = require('https');
module.exports = function getHttpsRequests (https) {
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
我已安装所需的软件包:-
npm install express body-parser http --save
我正在运行节点服务器,就像
node server.js
这给了我错误:-
https.get('google.com', function (res) {
^
TypeError: Cannot read property 'get' of undefined
您在
getHttpSreRequest
中需要https参数,但您不会将其传递给函数,因此它在函数内部为您提供未定义的参数,即使您已将其导出到外部。要么删除该参数,要么改名
var https = require('https');
module.exports = function getHttpsRequests (http) {
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
您在
getHttpSreRequest
中需要https参数,但您不会将其传递给函数,因此它在函数内部为您提供未定义的参数,即使您已将其导出到外部。要么删除该参数,要么改名
var https = require('https');
module.exports = function getHttpsRequests (http) {
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
在
getHttpsRequests
中,您正在传递https
参数,该参数将覆盖父https
。从函数中删除https
参数
module.exports = function getHttpsRequests (){
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
在
getHttpsRequests
中,您正在传递https
参数,该参数将覆盖父https
。从函数中删除https
参数
module.exports = function getHttpsRequests (){
https.get('google.com', function (res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function (d) {
process.stdout.write(d);
});
}).on('error', function (e) {
console.error(e);
});
}
@RaviMariya这不是一个拼写错误,正如他在回答中所说的,他对论点的命名不同。我认为我的错:D@RaviMariya这不是一个拼写错误,正如他在回答中所说的,他对这个论点的命名不同