Node.js Express模块​​导出

Joh*_*ohn 2 javascript node.js express

我得到这个错误

app.get不是一个功能

这是我的config/express.js

var express = require('express');


    module.exports = function(){

    var app = express();

    app.set('port',3000);

    return app;

    };
Run Code Online (Sandbox Code Playgroud)

这是我的server.js

var http = require ('http');

var app = require ('./config/express');


http.createServer(app).listen(app.get('port'), function(){

    console.log("Express Server Runing on port"+ app.get('port'));


});
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Tam*_*dus 7

在config/express.js您导出功能,但使用它作为一个应用程序.试试这个:

var express = require('express');
var app = express();
app.set('port', 3000);
module.exports = app;
Run Code Online (Sandbox Code Playgroud)

编辑:但以下是首选:

/* config/express.js */
var express = require('express');
module.exports = function() {
  var app = express();
  app.set('port', 3000);
  return app;
};


/* server.js */
var http = require('http');
var app = require('./config/express')(); // Notice the additional () here

http.createServer(app).listen(app.get('port'), function() {
    console.log("Express Server Runing on port"+ app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)