Node js app.configure 不是一个函数
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/37352454/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Node js app.configure is not a function
提问by raficsedu
Can anyone tell what is wrong within this code .I have installed all necessary modules .When i run this script then it tells app.configure is not a function . If i am missing any thing , please suggest me .
谁能说出这段代码有什么问题。我已经安装了所有必要的模块。当我运行这个脚本时,它告诉 app.configure 不是一个函数。如果我遗漏了任何东西,请建议我。
var express = require('express')
, app = express()
, server = require('http').createServer(app)
, io = require("socket.io").listen(server)
, npid = require("npid")
, uuid = require('node-uuid')
, Room = require('./room.js')
, _ = require('underscore')._;
app.configure(function() {
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000);
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1");
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use('/components', express.static(__dirname + '/components'));
app.use('/js', express.static(__dirname + '/js'));
app.use('/icons', express.static(__dirname + '/icons'));
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
/* Store process-id (as priviledged user) */
try {
npid.create('/var/run/advanced-chat.pid', true);
} catch (err) {
console.log(err);
//process.exit(1);
}
});
回答by Alan
app.configure()is no longer part of Express 4.
app.configure()不再是 Express 4 的一部分。
See here: https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x
见这里:https: //github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x
You no longer need to use app.configureand instead can directly configure your express app like so.
您不再需要使用app.configure,而是可以像这样直接配置您的 Express 应用程序。
var express = require('express')
, app = express()
, server = require('http').createServer(app)
, io = require("socket.io").listen(server)
, npid = require("npid")
, uuid = require('node-uuid')
, Room = require('./room.js')
, _ = require('underscore')._;
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000);
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1");
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use('/components', express.static(__dirname + '/components'));
app.use('/js', express.static(__dirname + '/js'));
app.use('/icons', express.static(__dirname + '/icons'));
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
/* Store process-id (as priviledged user) */
try {
npid.create('/var/run/advanced-chat.pid', true);
} catch (err) {
console.log(err);
//process.exit(1);
}
If you need environment specific configurations, use an ifblock:
如果您需要特定于环境的配置,请使用if块:
if(process.env.NODE_ENV === 'production') {
app.set('port', 80);
// additional prod environemtn configuration
}

