使用Pug&找不到错误404 Express和MongoDB

时间:2018-05-03 11:28:14

标签: mongodb express pug

我使用Express& amp; MongoDB用于POST请求。我试图多次重做我的路线,但是登录页面遇到了麻烦。我想将信息发布到我的服务器并呈现一个简单的欢迎消息。" 请指教。

路线文件夹:

var express = require('express');
var router = express.Router();
let mongoose = require('mongoose');
var User = require('../models/users')

//Get registration page from index button//
router.get('/register', function(req, res, next) {
  res.render('register');
    if (err) return console.error(err);
    res.json(user);
});

//Post user data to database POST /register //
router.post('/register', function(req, res, next) {
  res.render('Welcome to Fit 7');
})
    var username = req.body.username;
    var email = req.body.email;
    var password = req.body.password;

    var newuser =  new User();
    newuser.username = username;
    newuser.email = email;
    newuser.password = password;
    newuser.save(function(err, savedUser) {
        if(err) {
            console.log(err);
            return res.status(500).send();
        }
        return res.status(200).send();

    })

    module.exports = router;

App JS代码:

// var createError = require('http-errors');
var express = require('express');
var app = express();

var path = require('path');
// var cookieParser = require('cookie-parser');
var logger = require('morgan');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var pug = require('pug');

// var indexRouter = require('./routes/index');
var workouts = require('./routes/workouts');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));

// view engine setup
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, 'views'));


// app.use(cookieParser());
// app.use(express.static(path.join(__dirname, 'public')));

// app.use('/', indexRouter);
// app.use('/api/workouts', workouts);

 app.get('/', function (req, res) {
  res.render('index')

})

//Registration Route for New Users
app.get('/register', function (req, res) {
  res.render('register')  
});


app.get('/home', function (req, res) {
  res.render('home');
});

app.get('/workout/new', function (req, res) {
  res.render('workoutform');
});

//     catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

帕格模板代码:

  body(data-gr-c-s-loaded='true', style='')
.container
  form(action='/register', method='post').form-signin
    h1.form-signin-heading Login to Fit-7
    label.sr-only(for='username') Name
    input#name.form-control(type='username', placeholder='username', 
required='', autofocus='')
    label.sr-only(for='email') Email address
    input#inputEmail.form-control(type='email', placeholder='email address', 
required='', autofocus='')
    label.sr-only(for='password') Password
    input#password.form-control(type='password', placeholder='password', 
required='')
    button.btn.btn-lg.btn-primary.btn-block(type='submit') Sign in
span._hsShareImage.hsShareImage  
    loom-container#lo-engage-ext-container
      loom-shadow(data-reactroot='', classname='resolved')

2 个答案:

答案 0 :(得分:1)

我仍然没有喜欢上面的评论或评论的声誉,但答案非常有帮助。

但我的问题是我有一个波纹管:

"90, -123, 38, 0, 0, 3, 118, 93, 283, -1"

所以我换到了我的应用程序所在的位置

app.use('/', routes);

我正在使用带有哈巴狗的快递

答案 1 :(得分:0)

您似乎无法在app.js中的任何位置导入路由器。首先添加

strings.xml

在你的其他要求之后。然后添加

var registerRoute = require("./path/to/route.js");

取代这一行:

app.use(registerRoute)