我正在通过一个基本的节点教程工作,我很难让我的routes.js文件工作。
今天早些时候还在工作。服务器节点正在读取文件。出于某种原因,尽管它没有利用它。我的代码看起来和教程一模一样——尽管老师用的是PC,而我用的是Mac(尽管我不明白这有什么关系)。
在这个问题开始发生之前,我连接了我的数据库(下面的文件)——但是,我不明白为什么这会破坏我的路由。当我把这段代码放到server.js中时,我可以得到正确的路由。
帮助我stackoverflow,你是我唯一的希望!我只看到"Cannot GET/"我的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'
}
您正在导出一个函数(期望app
作为参数的函数):
module.exports = function(app) { ... }
但是你只是导入了那个函数而不是真正的调用 it:
require('./app/routes/routes');
相反,您需要调用它并将app
作为参数传递:
require('./app/routes/routes')(app);