Estoy tratando de agregar rutas a mi proyecto expressjs. Estoy tratando de hacer que cuando vaya a 'localhost: 9000/users' devuelva 'Lista de usuarios'. Actualmente muestra, 'No se puede OBTENER /usuarios'. Intenté poner el código en users.js en server.js y reemplacé el enrutador con la aplicación, pero eso no funcionó.
rutas/usuarios.js:
const express = require("express") const router = express.Router() router.get("/", (req, res) => { res.send("User List") }) router.get("/new", (req, res) => { res.render("users/new") }) module.exports = router;servidor.js:
const express = require('express') const app = express() const port = 9000 const userRouter = require("routes/users") app.set('view engine', 'ejs') app.get('/', (req, res) => { res.render('index', {username: 'xpress'}) }) app.use("/users", userRouter) app.listen(port, () => { console.log(`App listening at port ${port}`) })copio tu codigo y solo modifico
const userRouter = require("routes/users")
a
const userRouter = require("./routes/users")
y tengo la salida deseada
Debe usar "./" para referirse a sus archivos. De lo contrario, Node.js buscará el paquete "rutas/usuarios" en paquetes integrados, paquetes instalados globalmente y en la carpeta node_modules . Por supuesto, no está disponible en estos lugares.