pm2怎么开启node的--experimental-modules功能?
发布于 6 年前 作者 web19921112 6348 次浏览 来自 问答

首先是node版本v10.5.0,然后想用–experimental-modules,也就是使用import/export等es6功能。 发现supervisor无法使用了(supervisor --experimental-modules ./index.mjs ), 发现nodemon还可以使用(nodemon --experimental-modules ./index.mjs ), 发现pm2无法使用了(pm2 start --experimental-modules ./index.mjs ), 帮忙帮忙。

8 回复

通过 node_args 参数传进去,配置文件里加上这个参数,值是数组 ,PM2文档 或者命令行的话,加上 –node-args 参数,多个参数用空格分隔,比如 –node-args="--experimental-modules"PM2文档

@BaffinLee 用了pm2 start ./index.mjs --node-args="–experimental-modules",还是开不了, 查看错误日志是下面那样。 index-error-0.log last 15 lines: 0|index | (node:4272) ExperimentalWarning: The ESM module loader is experimen tal.

@web19921112 你的pm2版本是多少。我的Node版本是8.11.1 , npm的版本是2.6.1 . OS 是 win10 。我这里执行pm2 start xx.js --node-args="–experimental-modules"是可以的。日志如下:

[PM2] Applying action restartProcessId on app [argv](ids: 0) [PM2] argv ✓ [PM2] Process successfully started

pm2 cluster 扛不起超级大的并发量🤣🤣🤣🤣

@zurmokeeper pm2版本2.10.4,node是10.5.0,npm是6.1.0,系统win8。 问题是,我说的那个东西,不是用js文件运行的,是.mjs文件,让node支持import/export方式引入模块什么的。 你新建个mjs文件然后写import fs from ‘fs’;console.log(fs); 执行pm2 start xx.mjs --node-args="–experimental-modules"看看有没有效果

@web19921112 我不太明白 xx.mjs是什么意思,这个mjs是什么文件?

@zurmokeeper 就是node想使用–experimental-modules模式,运行的不能是js文件,得是mjs,这个模式可以使用import/export代替require等功能。

@web19921112 这个倒是没有试过,有空试试先

回到顶部