express.io Undefined不是一个函数

时间:2015-05-23 13:03:01

标签: javascript express express.io

当我为每条路线提供文件时,如何设置express.io.我正在努力应用examples

我有一个标准的Express我试图转换为express.io:

Project
    app.js
    routes
       servepage.js
    Views
       servepage.jade
    public
       main.js   <-- client side javascript

在路由示例中,他们将此代码放在app.js中:

var express = require('express.io');
  .... lots of Express routes omitted
app.io.route('ready', function(req) {
    req.io.emit('talk', {
        message: 'io event from an io route on the server'
    })
})

我只将路线定义放在app.js中:

app.io.route('ready', servepage);

并获得:

TypeError: undefined is not a function

如何使用app.js以外的方式设置应用程序?为什么它会给我这个错误?

编辑: servepage.js文件包含:

var express = require('express');

而不是:

var express = require('express.io');

因为这会产生错误。

1 个答案:

答案 0 :(得分:1)

似乎省略了servepage.js文件的require语句

servepage.js

module.exports = function(){ ... };

app.js

var servepage = require("./routes/servepage.js");
app.io.route('ready', servepage);