【问题标题】:app.configure(function){} typeerror undefined is not a functionapp.configure(function){} typeerror undefined is not a function
【发布时间】:2015-06-24 00:51:48
【问题描述】:

我正在使用 socket.io 和 angularjs 创建一个聊天应用程序,当我使用 cmd 运行 app.js 文件时,我收到一条错误消息“app.configure(function){} typeerror undefined is not a function” 可能是什么问题?

我的代码如下所示:

  var http = require('http');
  var express = require('express'),
   routes = require('./routes'),
   socket = require('./routes/socket.js');
      app = module.exports.app = express();
 var server = http.createServer(app);
 var io = require('socket.io').listen(server);  //pass a http.Server                      instance
   server.listen(80);

// 配置

  app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.set('view options', {
   layout: false
   });
  app.use(express.bodyParser());
   app.use(express.methodOverride());
   app.use(express.static(__dirname + '/public'));
    app.use(app.router);
      });

【问题讨论】:

  • 您能说明一下您使用的是哪个版本的 Express 吗?由于 Express 4.x 没有 app.configure() - expressjs.com/guide/migrating-4.html#other-changes app.configure() has been removed. Use process.env.NODE_ENV or app.get('env') to detect the environment and configure the app accordingly. 如果您下次提供完整的堆栈跟踪,它也会有所帮助。
  • 把这条线 app = module.exports.app = express() 改成 app = express() 看看是否有效

标签: javascript angularjs node.js express


【解决方案1】:

我使用的是 Express 4.0,其中删除了配置。见http://expressjs.com/guide/migrating-4.html#other-changes 我花了一个小时才意识到一个简单的错误。

【讨论】:

  • 这里有什么解决方案来支持configure()函数的等价物?
  • 直接调用app.use即可
猜你喜欢
  • 2021-06-21
  • 1970-01-01
  • 2014-08-15
  • 2015-01-14
  • 2014-07-06
  • 2014-09-01
  • 2020-02-15
  • 2019-10-14
  • 2015-11-04
相关资源
最近更新 更多