Boa noite!
Estou aprendendo Node.JS e estou travado nas rotas.
Tenho os seguintes códigos.
//app.js
// carregando modulos
const specific = require('specific')
const handlebars = require('express-handlebars')
const bodyParser = require('body-parser')
const app = specific();
const admin = require('./routes/admin')
const path = require('path')
// const mongoose = require('mongoose')
// Configs
// physique parser
app.use(bodyParser.urlencoded({prolonged:true}))
app.set('view engine','handlebars')
app.set('views', __dirname + '/views');
// mongoose
// Public
app.use(specific.static(path.be part of(__dirname,'public')))
// Routes
app.get('/', (req, res)=>{
res.ship('Rota principal!')
})
app.get('/posts', (req, res)=>{
res.ship('Lista Posts')
})
app.use('/admin',admin)
// Others
const PORT = 3000;
app.hear(PORT, ()=>{
console.log("Server Run!");
})
//routes/admin.js
const specific = require('specific')
const router = specific.Router()
router.get('/',(req, res)=>{
res.render('partials/_navbar')
})
router.get('/posts',(req, res)=>{
res.ship('Página de posts')
})
router.get('/categorias', (req, res)=>{
res.ship("Página categorias")
})
module.exports = router
e recebendo o seguinte erro
Error: Module "handlebars" doesn't present a view engine.
at new View (C:xampphtdocsblogappnode_modulesexpresslibview.js:84:13)
at Perform.render (C:xampphtdocsblogappnode_modulesexpresslibapplication.js:570:12)
at ServerResponse.render (C:xampphtdocsblogappnode_modulesexpresslibresponse.js:1012:7)
at C:xampphtdocsblogapproutesadmin.js:5:9
at Layer.deal with [as handle_request] (C:xampphtdocsblogappnode_modulesexpresslibrouterlayer.js:95:5)
at subsequent (C:xampphtdocsblogappnode_modulesexpresslibrouterroute.js:137:13)
at Route.dispatch (C:xampphtdocsblogappnode_modulesexpresslibrouterroute.js:112:3)
at Layer.deal with [as handle_request] (C:xampphtdocsblogappnode_modulesexpresslibrouterlayer.js:95:5)
at C:xampphtdocsblogappnode_modulesexpresslibrouterindex.js:281:22
at Perform.process_params (C:xampphtdocsblogappnode_modulesexpresslibrouterindex.js:335:12)
a intenção aqui é utilizar o format chamando o res.render
.
Estrutura de pastas
--blogapp
--routes
--views
--layout
--admin
Estou seguindo este tutorial, Curso de Node.js – Arquivos estáticos #33
Podem me ajudar?