我知道這種問題已經存在,但他們的答案並沒有糾正我的問題。NodeJS - TypeError:app.listen不是函數
錯誤是「TypeError:app.listen不是函數」;
我的完整代碼如下,在此先感謝。 (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);
嗨Adeneo,我是相當新的的NodeJS,請解釋一下你的意思? –
我剛剛有點困惑,你在第一行使用'app',在那裏你將它傳遞給socket.io,但是它沒有被定義,直到第五行? – adeneo
在文檔中有一些例子,你是否嘗試過 - > https://nodejs.org/api/http.html#http_event_connect – adeneo