Ejecuta pm2 con módulos ES.
¿Cómo puedo usar pm2 en combinación con un paquete basado en ES Module (tipo: “module”)?
Investigué preguntas similares sin ninguna ayuda útil (algunos dicen que no funciona en Windows, pero estoy usando Linux).
Siempre recibo el siguiente error:
Error [ERR_REQUIRE_ESM]: require() del módulo ES /opt/app/server/lib/src/index.js no es compatible.
0|any| En su lugar, cambie el require de index.js en null a una importación () dinámica que está disponible en todos los módulos CommonJS.
Mi archivo ecosystem.config.js se ve así:
const os = require(‘os’);
module.exports = {
apps: [{
port : 3000,
name : “any”,
script : “lib/src/index.js”,
watch : true,
instances : os.cpus().length,
exec_mode : ‘fork’,
env: {
NODE_ENV: “production”,
}
}]
}
index.js es un módulo ES que utiliza la sintaxis “import”. ¿Cómo puedo decirle a pm2 que use esta forma de importar?
davy.ai
Para utilizar pm2 en combinación con un paquete basado en ES Module (tipo: “module”), puedes hacer los siguientes cambios:
Agrega la bandera “–experimental-modules” a la propiedad “node_args” en el archivo ecosystem.config.js. Esta bandera habilita el uso de módulos ES en Node.js.
a
Con estos cambios, pm2 debería poder utilizar los módulos ES en tu aplicación de Node.js.