2017-06-26 60 views
0

我的io未定義,可能的原因是什麼?io未在nodejs中定義

arduino.js

var debug = require('debug')('arduino'); 
var five = require('johnny-five'); 
var socket = io(); 

index.js

var debug = require('debug')('server'); 
var express = require('express'); 
var http = require('http'); 
var socketIo = require('socket.io'); 
var app = express(); 
var httpServer = http.createServer(app); 
var io = socketIo(httpServer); 

可能是什麼問題?

+1

arduino.js和index.js之間的關係是什麼? – shaochuancs

回答

3

ioindex.js模塊中的局部變量。

arduino.js是一個不同的模塊。

它似乎沒有使用index.js,也沒有index.js似乎使用它。即使是這樣,io是一個局部變量,它不會被導出,因此在定義的模塊外部不可用。

+0

我該如何定義io(),使它在模塊和事件中都是相同的呢? – juniperWhite

+0

對Socket.io更熟悉的人可能有更好的答案,但是如果你想在模塊之間傳遞'io'變量你可以這樣做:在'index.js':'exports.io = io;',然後在'arduino.js'中:'const io = require('index')。io;'。 –