Итак, я использую Hackathon Starter и пытаюсь немного реорганизовать маршруты, но у меня возникли проблемы или проблемы:
Я реорганизовал контроллеры в app.js следующим образом
/**
* Controllers (router handlers)
* Refactored
*/
const homeController = require('./controllers/home/index');
const userController = require('./controllers/users/index');
const apiController = require('./controllers/api/index');
const contactController = require('./controllers/contact/index');
With the index.js file just being the routes
const express = require('express');
const homeController = require('./homeController');
const app = express();
app.get('/', homeController.index);
module.exports = app;
А в app.js - где все маршруты у меня просто есть:
app.use('/', homeController);
app.use('/user', userController);
app.use('/contact', contactController);
app.use('/api', apiController);
Домашний маршрут работает нормально - но это все. Когда я захожу в доступ / логин или / контакт - ничего не работает. Я получаю сообщение об ошибке Cannot GET / contact
UDPATE
HomeController
/**
* GET /
* Home page.
*/
exports.index = (req, res) => {
res.render('home', {
title: 'Home'
});
};
UserController
const bluebird = require('bluebird');
const crypto = bluebird.promisifyAll(require('crypto'));
const nodemailer = require('nodemailer');
const passport = require('passport');
const User = require('../../models/User');
// const User = require('../models/User'); default
/**
* GET /login
* Login page.
*/
exports.getLogin = (req, res) => {
if (req.user) {
return res.redirect('/');
}
res.render('account/login', {
title: 'Login'
});
};
/**
* POST /login
* Sign in using email and password.
*/
exports.postLogin = (req, res, next) => {
req.assert('email', 'Email is not valid').isEmail();
req.assert('password', 'Password cannot be blank').notEmpty();
req.sanitize('email').normalizeEmail({ gmail_remove_dots: false });
const errors = req.validationErrors();
if (errors) {
req.flash('errors', errors);
return res.redirect('/login');
}
passport.authenticate('local', (err, user, info) => {
if (err) { return next(err); }
if (!user) {
req.flash('errors', info);
return res.redirect('/login');
}
req.logIn(user, (err) => {
if (err) { return next(err); }
req.flash('success', { msg: 'Success! You are logged in.' });
res.redirect(req.session.returnTo || '/');
});
})(req, res, next);
};
/**
* GET /logout
* Log out.
*/
exports.logout = (req, res) => {
req.logout();
res.redirect('/');
};
/**
* GET /signup
* Signup page.
*/
exports.getSignup = (req, res) => {
if (req.user) {
return res.redirect('/');
}
res.render('account/signup', {
title: 'Create Account'
});
};
.... lots more code