节点.js类型错误:对象没有方法获取
node.js TypeError: Object has no method get
我正在尝试将服务器启动和其他调用与核心文件(app.js
)分开,但是当我尝试运行它时,它向我发出错误 http.createServer(app).listen(app.get('port'), function(){
^
TypeError: Object function (){ all code from app.js file }
has no method 'get'
这是app.js
文件。
/**
* Module dependencies.
*/
module.exports = function(){
var express = require('express');
var routes = require('./routes');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 4000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/', routes.index);
return app;
};
这是server.js
文件。
var http = require('http'),
app = require('./app');
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
使用express@3.4.0
我错过了什么或做错了什么..请帮助。
你没有理由将函数返回到你的app.js
文件中,只需返回 express 对象:
var express = require('express');
var app = express();
// ... more variables
// ... the rest of your code
module.exports = app;
然后,server.js
的其余代码将正常工作。
请记住,module.exports
的工作方式类似于"return
"进入CommonJS(因此也是NodeJS)。
请参阅文档。
你正在向module.exports
传递一个函数,所以当你require('./app')
时,你需要像函数一样调用它:
var http = require('http'),
app = require('./app')();
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
相关文章:
- 骨干's Router.execute(callback,args,name)方法获取未定义的名称
- Get方法获取csv文件的内容
- 从 Rails dom_id 方法获取 HTML 类名
- 如何从发布方法获取数据后重定向
- 为什么dijit.form.Select有方法setStore(),而dijit.fform.FilteringSele
- 使用jQuery.attr()方法获取元素属性
- 如何通过 .ajax() jQuery 方法获取 Carrierwave 上传到 Amazon S3 的图像的 URL
- jQuery / Javascript方法获取当前页面的标题,将其与字符串匹配,将类分配给该特定元素
- 无法使用 jquery 方法获取属性值
- 如何通过 php 表中的 post 方法获取值,并在表中获取替换前一个表的值
- 如何从findOneAndUpdate方法获取更新的文档
- 在下划线js,我可以在输入后使用弹拨方法获取多列,其中方法作为linq选择投影
- 使用 jQuery $.post() 方法获取另一个网页的一部分
- 节点.js类型错误:对象没有方法获取
- 在 JSF 中,如何在使用后备 Bean 方法获取值后调用 java 脚本
- 使用GWT'从java方法获取返回值;s JSNI
- 描述从回调方法获取正确的作用域
- 从Jquery$.getJSON方法获取数组的全局数组到REUSE数组
- 从angular post方法获取数据
- 是否有方法在WebCrypto API中获取RSA密钥的组件