2017-06-26 7 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

ioは、index.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;' –

関連する問題