Error de Node: No se puede utilizar la declaración de importación fuera de un módulo aunque no lo estoy haciendo.
Estoy usando Pm2 y este es el error:
SyntaxError: No se puede utilizar una declaración de importación fuera de un módulo
Advertencia: Para cargar un módulo ES, establezca “type”: “module” en el package.json o use la extensión .mjs.
El problema es que el package.json ya está configurado en “type”: “module”.
Además, todo solía funcionar bien hasta que reinicié el servidor.
Aquí está el archivo .js real:
const http = require(‘http’);
const url = require(‘url’);
const querystring = require(‘querystring’);
const hostname = ‘localhost’;
const port = 8080;
import captureWebsite from ‘capture-website’;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader(‘Content-Type’, ‘text/plain’);
res.end(‘¡Hola mundo!\n’);
....
});
davy.ai
Parece que el problema está en la declaración
import
. Según este artículo, la declaraciónimport
solo se puede utilizar en módulos.Para solucionar este problema, se puede utilizar la declaración
require
en lugar deimport
, o bien, utilizar la extensión.mjs
para el archivo.