【发布时间】:2020-07-04 03:07:38
【问题描述】:
我有以下 js 类KafkaServices。在server.js 我想从KafkaServices 调用一个方法来创建一个Kafka 连接。在server.js 中,我目前正在这样做:
/**
* Event listener for HTTP server "listening" event.
*/
var kafkaServices = require('./services/kafka-services');
const kafka = require('kafka-node');
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
console.log('Listening on ' + bind);
logInfo({message: `Server is Listening on http://localhost:${addr.port}.`, scope: 'Server'});
kafkaTool = new kafkaServices.KafkaServices();
// Connect to kafka
kafkaTool.connect();
kafkaTool.error();
}
我的KafkaServices也在下面。我正在使用module.exports = KafkaServices; 导出该类并能够在其他地方使用它。
var express = require('express');
var kafka = require('kafka-node');
class KafkaServices{
constructor(){
this.Producer = kafka.Producer,
this.client = new kafka.Client();
this.producer = new Producer(client);
}
connect(){
// Create a connection
this.producer.on('ready', function() {
console.log('Producer is ready');
})
}
error(){
this.producer.on('error', function(err) {
console.log('Producer has the following error');
console.log(err);
})
}
publish(){
//Publish
this.producer.send(payload, function (err, data){})
}
}
module.exports = KafkaServices;
当我尝试运行它时,我收到以下错误消息:
PS C:\Users\ENV\Projects\tool> npm run start
> settings-tool@1.0.0 start C:\Users\ENV\Projects\tool
> node ./src/server.js
Listening on port 3999
{"timestamp":"2020-07-02T18:22:27.909Z","level":"info","app_name":"tool","message":"Server is Listening on http://localhost:3999.","scope":"Server","tag":"tool"}
{"error":{},"level":"error","message":"uncaughtException: kafkaServices.KafkaServices is not a constructor\nTypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","stack":"TypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","exception":true,"date":"Thu Jul 02 2020 14:22:27 GMT-0400 (Eastern Daylight Time)","process":{"pid":22460,"uid":null,"gid":null,"cwd":"C:\\Users\\ENV\\Projects\\tool","execPath":"C:\\Program Files\\nodejs\\node.exe","version":"v10.16.3","argv":["C:\\Program Files\\nodejs\\node.exe","C:\\Users\\ENV\\Projects\\tool\\src\\server.js"],"memoryUsage":{"rss":40157184,"heapTotal":25980928,"heapUsed":16159328,"external":134547}},"os":{"loadavg":[0,0,0],"uptime":106081},"trace":[{"column":17,"file":"C:\\Users\\ENV\\Projects\\tool\\src\\server.js","function":"Server.onListening","line":149,"method":"onListening","native":false},{"column":13,"file":"events.js","function":"Server.emit","line":198,"method":"emit","native":false},{"column":10,"file":"net.js","function":"emitListeningNT","line":1313,"method":null,"native":false},{"column":19,"file":"internal/process/next_tick.js","function":"process._tickCallback","line":63,"method":"_tickCallback","native":false},{"column":11,"file":"internal/modules/cjs/loader.js","function":"Module.runMain","line":834,"method":"runMain","native":false},{"column":19,"file":"internal/bootstrap/node.js","function":"startup","line":283,"method":null,"native":false},{"column":3,"file":"internal/bootstrap/node.js","function":"bootstrapNodeJSCore","line":622,"method":null,"native":false}],"tag":"tool"}
{"error":{},"level":"error","message":"uncaughtException: kafkaServices.KafkaServices is not a constructor\nTypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","stack":"TypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","exception":true,"date":"Thu Jul 02 2020 14:22:27 GMT-0400 (Eastern Daylight Time)","process":{"pid":22460,"uid":null,"gid":null,"cwd":"C:\\Users\\ENV\\Projects\\tool","execPath":"C:\\Program Files\\nodejs\\node.exe","version":"v10.16.3","argv":["C:\\Program Files\\nodejs\\node.exe","C:\\Users\\ENV\\Projects\\tool\\src\\server.js"],"memoryUsage":{"rss":41377792,"heapTotal":25980928,"heapUsed":16255176,"external":134547}},"os":{"loadavg":[0,0,0],"uptime":106081},"trace":[{"column":17,"file":"C:\\Users\\ENV\\Projects\\tool\\src\\server.js","function":"Server.onListening","line":149,"method":"onListening","native":false},{"column":13,"file":"events.js","function":"Server.emit","line":198,"method":"emit","native":false},{"column":10,"file":"net.js","function":"emitListeningNT","line":1313,"method":null,"native":false},{"column":19,"file":"internal/process/next_tick.js","function":"process._tickCallback","line":63,"method":"_tickCallback","native":false},{"column":11,"file":"internal/modules/cjs/loader.js","function":"Module.runMain","line":834,"method":"runMain","native":false},{"column":19,"file":"internal/bootstrap/node.js","function":"startup","line":283,"method":null,"native":false},{"column":3,"file":"internal/bootstrap/node.js","function":"bootstrapNodeJSCore","line":622,"method":null,"native":false}],"tag":"tool"}
{"error":{},"level":"error","message":"uncaughtException: kafkaServices.KafkaServices is not a constructor\nTypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","stack":"TypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","exception":true,"date":"Thu Jul 02 2020 14:22:27 GMT-0400 (Eastern Daylight Time)","process":{"pid":22460,"uid":null,"gid":null,"cwd":"C:\\Users\\ENV\\Projects\\tool","execPath":"C:\\Program Files\\nodejs\\node.exe","version":"v10.16.3","argv":["C:\\Program Files\\nodejs\\node.exe","C:\\Users\\ENV\\Projects\\tool\\src\\server.js"],"memoryUsage":{"rss":41385984,"heapTotal":25980928,"heapUsed":16300016,"external":142739}},"os":{"loadavg":[0,0,0],"uptime":106081},"trace":[{"column":17,"file":"C:\\Users\\ENV\\Projects\\tool\\src\\server.js","function":"Server.onListening","line":149,"method":"onListening","native":false},{"column":13,"file":"events.js","function":"Server.emit","line":198,"method":"emit","native":false},{"column":10,"file":"net.js","function":"emitListeningNT","line":1313,"method":null,"native":false},{"column":19,"file":"internal/process/next_tick.js","function":"process._tickCallback","line":63,"method":"_tickCallback","native":false},{"column":11,"file":"internal/modules/cjs/loader.js","function":"Module.runMain","line":834,"method":"runMain","native":false},{"column":19,"file":"internal/bootstrap/node.js","function":"startup","line":283,"method":null,"native":false},{"column":3,"file":"internal/bootstrap/node.js","function":"bootstrapNodeJSCore","line":622,"method":null,"native":false}],"tag":"tool"}
{"error":{},"level":"error","message":"uncaughtException: kafkaServices.KafkaServices is not a constructor\nTypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","stack":"TypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","exception":true,"date":"Thu Jul 02 2020 14:22:27 GMT-0400 (Eastern Daylight Time)","process":{"pid":22460,"uid":null,"gid":null,"cwd":"C:\\Users\\ENV\\Projects\\tool","execPath":"C:\\Program Files\\nodejs\\node.exe","version":"v10.16.3","argv":["C:\\Program Files\\nodejs\\node.exe","C:\\Users\\ENV\\Projects\\tool\\src\\server.js"],"memoryUsage":{"rss":41385984,"heapTotal":25980928,"heapUsed":16340888,"external":142739}},"os":{"loadavg":[0,0,0],"uptime":106081},"trace":[{"column":17,"file":"C:\\Users\\ENV\\Projects\\tool\\src\\server.js","function":"Server.onListening","line":149,"method":"onListening","native":false},{"column":13,"file":"events.js","function":"Server.emit","line":198,"method":"emit","native":false},{"column":10,"file":"net.js","function":"emitListeningNT","line":1313,"method":null,"native":false},{"column":19,"file":"internal/process/next_tick.js","function":"process._tickCallback","line":63,"method":"_tickCallback","native":false},{"column":11,"file":"internal/modules/cjs/loader.js","function":"Module.runMain","line":834,"method":"runMain","native":false},{"column":19,"file":"internal/bootstrap/node.js","function":"startup","line":283,"method":null,"native":false},{"column":3,"file":"internal/bootstrap/node.js","function":"bootstrapNodeJSCore","line":622,"method":null,"native":false}],"tag":"tool"}
{"timestamp": "2020-07-02T18:22:27.959Z","message":"Uncaught Exception.","scope":"ServerError","error":"TypeError. kafkaServices.KafkaServices is not a constructor", "stack":"TypeError: kafkaServices.KafkaServices is not a constructor
at Server.onListening (C:\Users\ENV\Projects\tool\src\server.js:149:17)
at Server.emit (events.js:198:13)
at emitListeningNT (net.js:1313:10)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","origin":"undefined"}
{"timestamp":"2020-07-02T18:22:27.961Z","level":"error","app_name":"tool","message":"uncaughtException Error Message: kafkaServices.KafkaServices is not a constructor","label":{"label":"ServerError","scope":"ServerError"},"error_stack":"TypeError: kafkaServices.KafkaServices is not a constructor\n at Server.onListening (C:\\Users\\ENV\\Projects\\tool\\src\\server.js:149:17)\n at Server.emit (events.js:198:13)\n at emitListeningNT (net.js:1313:10)\n at process._tickCallback (internal/process/next_tick.js:63:19)\n at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)\n at startup (internal/bootstrap/node.js:283:19)\n at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)","tag":"tool"}
{"timestamp":"2020-07-02T18:22:30.943Z","level":"info","app_name":"tool","message":"Process exit event with code 1.","scope":"Server","tag":"tool"}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! settings-tool@1.0.0 start: `node ./src/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the settings-tool@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\ENV\AppData\Roaming\npm-cache\_logs\2020-07-02T18_22_30_969Z-debug.log
我不完全确定为什么会出现这个错误,因为KafkaServices 有一个构造函数。任何意见,将不胜感激!谢谢
【问题讨论】:
标签: node.js rest express apache-kafka