Javascript 错误:无法读取未定义的属性
我正在尝试使用Express以如下方式配置我的应用程序,但在执行此操作时出现错误: server.jsJavascript 错误:无法读取未定义的属性,javascript,node.js,Javascript,Node.js,我正在尝试使用Express以如下方式配置我的应用程序,但在执行此操作时出现错误: server.js var express = require('express'); var env = process.env.NODE_ENV = process.env.NODE_ENV || 'devleopment'; var app = express(); var config = require('./server/config/config')[env]; require('./server/
var express = require('express');
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'devleopment';
var app = express();
var config = require('./server/config/config')[env];
require('./server/config/express')(app, config);
app.listen(config.port);
console.log('Listening on port ' + config.port + '...');
config.js
var path = require('path');
var rootPath = path.normalize(__dirname + '/../../');
module.exports = {
development: {
db: 'localhost',
rootPath: rootPath,
port: process.env.PORT || 3003
},
production: {
rootPath: rootPath,
db: 'localhost',
port: process.env.PORT || 80
}
}
但是,在控制台上点点头,我得到了以下错误消息:
app.set('views',config.rootPath+'/server/views');
^
TypeError:无法读取未定义的属性“rootPath”
在module.exports(.\server\config\expr
女秘书长:13:28)
反对。(.\server.js:9:35)
)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
位于Function.Module.runMain(Module.js:497:10)
启动时(node.js:119:16)
在node.js:906:3
7月23日10:38:13-[nodemon]应用程序崩溃-在开始之前等待文件更改
ng。。。
我认为这是从根路径的初始化开始的。但是,我没能找到问题所在。
如何解决这个问题?假设您没有设置
process.env.NODE\u env
并且它使用默认值,那么您的问题就是一个简单的拼写错误
process.env.NODE_ENV || 'devleopment';
应该是
process.env.NODE_ENV || 'development';
您的配置文件没有导出对象
devleopment
,因此它返回undefined
我仍然得到这个抛出新类型错误('Router.use()需要回调函数')^TypeError:Router.use()需要在function.use(.\node\u modules\express\lib\Router\index.js:416:11)上使用回调函数。
@user3821280这是一个完全不同的问题,这是不言自明的,Router.use
方法需要回调,您不能只调用路由器。使用不带参数。
process.env.NODE_ENV || 'development';