我知道这个问题已经存在,但他们的回答并没有解决我的问题。
错误是“TypeError: app.listen is not a function”;
我的完整代码如下,在此先感谢。 (PS,我没有在同一个端口上运行任何东西)
var io = require('socket.io')(app);
var fs = require('fs');
var serialPort = require("serialport");
var app = require('http');
app.createServer(function (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
res.writeHead(200);
res.end(data);
});
}).listen(1337, '127.0.0.1');
var port = new serialPort(process.platform == 'win32' ? 'COM3' : '/dev/ttyUSB0', {
baudRate: 9600
});
port.on( 'open', function() {
console.log('stream read...');
});
port.on( 'end', function() {
console.log('stream end...');
});
port.on( 'close', function() {
console.log('stream close...');
});
port.on( 'error', function(msg) {
console.log(msg);
});
port.on( 'data', function(data) {
console.log(data);
var buffer = data.toString('ascii').match(/\w*/)[0];
if(buffer !== '') bufferId += buffer;
clearTimeout(timeout);
timeout = setTimeout(function(){
if(bufferId !== ''){
id = bufferId;
bufferId = '';
socket.emit('data', {id:id});
}
}, 50);
});
io.on('connection', function (socket) {
socket.emit('connected');
});
app.listen(80);
最佳答案
这可能不是 SO 问题的答案,但在与 test 类似的情况下,同样的错误“TypeError: app.listen is not a function”可能可以通过导出模块 应用
。
$ ./node_modules/.bin/mocha test
可以输出
TypeError: app.listen is not a function
解决方案:
尝试添加到 server.js
文件的底部:
module.exports = app;
关于javascript - NodeJS - TypeError : app. listen 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39810652/