Estoy creando un bot de Discord usando discord.js, y estoy tratando de importar una gran matriz llamada "respuestas" de un archivo llamado "names.js".
nombres.js
export var replies = ['various stuff'];bot.js
import {replies} from "names.js";Esto solo me devuelve el siguiente mensaje de error
(Use `node --trace-warnings ...` to show where the warning was created) node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module '/home/pi/discordbot/monsieur_bot/...' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }He intentado habilitar el "tipo: módulo" en el archivo packages.json, pero esto simplemente rompe mi código (el bit requiere discord.js).
Debe usar la ruta relativa, ya que su archivo no es un node_module.
import { replies } from "./names";editar: si no puede usar módulos en su aplicación de nodo, entonces necesita cambiar su código por algo como esto:
nombres.js
exports.replies = [foo, bar]bot.js
const { replies } = require("./names.js");Usar ruta relativa
nombres.js
export var replies = ['various stuff'];bot.js
import { replies } from './names.js';paquete.js
"type": "module"Las rutas en el nodo js son relativas al archivo en el que está escribiendo un ejemplo:
Si está escribiendo en main.js y desea importar un módulo que está en name.js, suponiendo que esté a la misma altura en main, debe colocar name from "./name.js".
Las claves se colocan si no está haciendo una exportación por defecto.
Otra cosa que tienes que usar cuando usas exportaciones se pone en el paquete-json:
"type": "module",Cita en bloque