我想制作一个用于学习的小聊天应用程序,我创建了许多js文件,这些文件是模块化的,但我遇到了一些错误。
这是我的boot.js文件
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var admin = io.of('/app'),
client = io.of('');
module.exports.app = app;
module.exports.http = http;
module.exports.io = io;
这是我的routes.js文件
module.exports = {
start: function(app) {
app.get('/', function(req, res) {
res.sendFile(__dirname + '/index.html');
});
}
};
这是我的chat.js
var boot = require('./boot');
require('./routes')(boot.app).start();
http.listen(3000, function(){
console.log('listening on *:3000');
});
当我运行节点时出现此错误
require('./routes')(boot.app).start();
^
TypeError: require(...) is not a function
我怎样才能将boot.js中的变量用于其他js文件?
请帮助我。答案 0 :(得分:2)
你在这里犯了一个小错误。以下是正确的。
require('./routes').start(boot.app);
routes
模块导出一个对象,您可以在其中调用start
并使用该函数。