Din*_*uja 0 javascript node.js
我正在使用NodeJS.我在运行Node Server时收到错误.我从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 = 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);
});
Run Code Online (Sandbox Code Playgroud)
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);
});
}
Run Code Online (Sandbox Code Playgroud)
我已经安装了所需的包: -
npm install express body-parser http --save
Run Code Online (Sandbox Code Playgroud)
我正在运行节点服务器,
node server.js
Run Code Online (Sandbox Code Playgroud)
它给了我错误: -
https.get('google.com', function (res) {
^
TypeError: Cannot read property 'get' of undefined
Run Code Online (Sandbox Code Playgroud)
您期望使用https参数getHttpsRequest,但是您没有将其传递给函数,因此即使您已将其导出到外部,它也会在函数内部进行未定义.要么删除该参数,要么以不同方式命名
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);
});
}
Run Code Online (Sandbox Code Playgroud)