¿Qué está mal en mi código? ¿Por qué no puedo importar el enrutador?
El error dice: ‘Error [ERR_MODULE_NOT_FOUND]: No se puede encontrar el módulo ‘…\server\router\index’ importado desde \server\index.js’.
Creo que lo importé correctamente. Usé “type”:”module” en el package.json. ¿Cómo puedo arreglar esto?
Índice:
import dotenv de ‘dotenv’
import express de ‘express’
import cors de ‘cors’
import mongoose de ‘mongoose’
import cookieParser de ‘cookie-parser’
import {router} de ‘./router/index’
dotenv.config()
const PORT = process.env.PORT || 7000
const app = express()
app.use(express.json())
app.use(cookieParser())
app.use(cors())
app.use(‘/api’, router)
const start = async () => {
try {
await mongoose.connect(process.env.DB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
app.listen(PORT, () => console.log(Servidor iniciado en puerto ${PORT}
))
} catch (e) {
console.log(‘Error de conexión’, e)
}
}
start()
Enrutador:
const express = require(‘express’)
import userController de ‘../controllers/user-controller’
const router = express.Router()
router.post(‘/registro’, userController.registration)
router.post(‘/iniciar-sesion’, userController.login)
router.post(‘/cerrar-sesion’, userController.logout)
router.get(‘/activar/:link’, userController.activate)
router.get(‘/actualizar-token’, userController.refresh)
router.get(‘/usuarios’, userController.getUsers)
export {router}
davy.ai
El mensaje de error sugiere que el módulo ubicado en
...\server\router\index
no se puede encontrar al ser importado en...\server\index.js
.Tras inspeccionar los fragmentos de código proporcionados, parece que el problema puede estar relacionado con el uso mixto de las declaraciones
import
yrequire
en ambos archivos. Específicamente,...\server\router\index
parece usar declaracionesimport
, mientras que...\server\index.js
utiliza una mezcla de declaracionesimport
yrequire
.Para resolver este problema, puede ser necesario refactorizar el código en uno o ambos archivos para usar solo las declaraciones
import
o solo las declaracionesrequire
. Además, asegúrese de que los módulos relevantes estén instalados y sean accesibles para el programa.Como punto de partida, intente modificar
...\server\router\index
para usar declaracionesrequire
y exportar el módulo de enrutador de la siguiente manera:Luego, en
...\server\index.js
, modifique la declaración de importación pararouter
de la siguiente manera:Después de realizar estos cambios, asegúrese de que todos los módulos necesarios estén instalados y sean accesibles para el programa y vuelva a intentar ejecutar el programa.