PM2 ขัดข้องขณะใช้โมดูล ES ใน nodejs

Aug 18 2020

ฉันได้เปิดใช้งานโมดูล ES pacakage.jsonด้วยคู่ค่าคีย์นี้"type": "module"ฉันไม่ต้องใช้แฟล็ก 'ทดลอง' กับโหนดเวอร์ชันล่าสุด

เมื่อฉันเรียกใช้pm2 start app.js --watchแอพขัดข้องพร้อมข้อความแสดงข้อผิดพลาด

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    | }

แอปทำงานได้ดีอย่างสมบูรณ์โดยไม่มี pm2 ฉันเดาว่า pm2 ยังไม่รองรับ ESM!

วิธีแก้ปัญหาใด ๆ หรือฉันขาดการกำหนดค่าบางอย่างหรือไม่?

คำตอบ

1 r7r Aug 28 2020 at 19:36

หากคุณใช้ Windows 10

pm2 ไม่ทำงานกับ esm บน windows 10 ไม่มีวิธีแก้ปัญหา!

Dipten Aug 27 2020 at 20:03

พยายามส่งความกลมกลืนเป็นอาร์กิวเมนต์โหนดเนื่องจากจะเปิดใช้งานคุณสมบัติ es6 ในกระบวนการ pm2

pm2 start my_app.js --watch --node-args="--harmony"