PM2 trava ao usar módulos ES em nodejs
Aug 18 2020
Ativei os módulos ES pacakage.json
com este par de valor-chave, "type": "module"
não preciso usar o sinalizador 'experimental' com a versão mais recente do nó
quando executo pm2 start app.js --watch
o aplicativo trava com a mensagem de erro
0|app | Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader
0|app | at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:781:11)
0|app | at Loader.resolve (internal/modules/esm/loader.js:85:40)
0|app | at Loader.getModuleJob (internal/modules/esm/loader.js:229:28)
0|app | at Loader.import (internal/modules/esm/loader.js:164:28)
0|app | at importModuleDynamically (internal/modules/cjs/loader.js:1194:27)
0|app | at exports.importModuleDynamicallyCallback (internal/process/esm_loader.js:30:14)
0|app | at Object.<anonymous> (C:\Users\username\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:29:24)
0|app | at Module._compile (internal/modules/cjs/loader.js:1251:30)
0|app | at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
0|app | at Module.load (internal/modules/cjs/loader.js:1100:32) {
0|app | code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
0|app | }
o aplicativo funciona perfeitamente bem sem pm2. Estou supondo que pm2 ainda não suporta ESM!
alguma solução alternativa ou estou perdendo algumas configurações?
Respostas
1 r7r Aug 28 2020 at 19:36
Se você estiver no Windows 10
pm2 não funciona com esm no windows 10, não há soluções alternativas!
Dipten Aug 27 2020 at 20:03
Tente passar harmonia como argumentos de nó, pois isso ativará os recursos es6 no processo pm2.
pm2 start my_app.js --watch --node-args="--harmony"
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino