我正在完成一个基本的节点教程,并且很难让我的routes.js文件工作。
今天早些时候工作了。服务器节点正在读取文件。出于某种原因,虽然没有使用它。我的代码看起来与教程完全一样 - 虽然老师在PC上我在Mac上(虽然我不明白为什么这很重要)。
在这个问题开始发生之前,我连接了我的数据库(下面的文件) - 但是再一次,我看不出为什么这会妨碍我的路线。当我把这个代码放在server.js中时,我可以得到正确的路由。
帮我堆栈溢出,你是我唯一的希望!我所看到的只是“不能获得/”
我的routes.js文件
var User = require('../models/user');
module.exports = function(app){
app.get('/', function(req, res){
res.send("Hello World");
});
// app.get('/:username/:password', function(req, res){
// var newUser = new User();
// newUser.local.username = req.params.username;
// newUser.local.password = req.params.password;
// console.log(newUser.local.username + " " + newUser.local.password);
// newUser.save(function(err){
// if(err)
// throw err;
// });
// res.send('Success!')
// });
};
server.js
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
var cookieParser = require('cookie-parser');
var session = require('express-session');
var morgan = require('morgan');
var mongoose = require('mongoose');
//Config Database
var configDB = require('./config/database.js');
mongoose.connect(configDB.url);
//MIDDLEWARE is run during every interaction;
app.use(morgan('dev'));
//sets req.cookies
app.use(cookieParser());
app.use(session({
//secret for user session
secret: "ist0",
//if the server goes down, the user can remain logged on -- still save to database
saveUninitialized: true,
//even if nothing has changed, resave
resave: true
}));
//ROUTES
require('./app/routes/routes');
// app.use('/', function(req, res){
// //send is express function
// res.send("Our first express program");
// console.log(req.cookies);
// console.log("============");
// console.log(req.session);
// });
app.listen(port);
console.log('The magic happens on ' + port)
我的database.js文件:
module.exports = {
'url': 'mongodb://localhost/meanboil'
}
答案 0 :(得分:0)
您正在导出一个函数(一个期望app
作为参数的函数):
module.exports = function(app) { ... }
但您只是导入该功能并且实际上并没有致电:
require('./app/routes/routes');
相反,您需要调用它并将app
作为参数传递:
require('./app/routes/routes')(app);