Ошибка NodeJs: Невозможно получить GET / Admin при использовании маршрутизатора - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь создать маршрут для страницы администратора.

Вот что я получил до сих пор:

app.js

app.engine('.hbs', expressHsb({defaultLayout: 'default', extname: '.hbs'}));
app.set('view engine', '.hbs');


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


const adminRoutes = require('./routes/adminRoutes');

app.get('/admin', adminRoutes);

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

adminRoutes.js

const express = require('express');
const router = express.Router();
const adminController = require('../controllers/adminController');


router.all('/*', (req, res, next) => {

    req.app.locals.layout = 'admin';

    next();
});


router.route('/')
    .get(adminController.index);

module.exports = router; 

adminController.js

module.exports = {
    index: (req, res) => {
        res.render('admin/index', {layout: false});
    }
};

Я не уверен, что мне здесь не хватает.Я определил маршрут в моем app.js, но я все еще получаю Cannot GET /admin.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Вы должны сделать

app.use('/admin', adminRoutes);

Вместо

app.get('/admin', adminRoutes);

в app.js

0 голосов
/ 20 сентября 2019

app.js

измените GET на use и перезапустите сервер.

    const adminRoutes = require('./routes/adminRoutes');

    // change get to use it
    app.use('/admin', adminRoutes);

Чтобы узнать больше Маршрут: https://github.com/sagormax/node-admin/blob/master/routes/index.js

Чтобы узнатьбольше app.js: https://github.com/sagormax/node-admin/blob/master/app.js

...