方式一:
在package.json文件的scripts域中,配置以下的命令:
"start": "cross-env NODE_ENV=dev node -r esm server/index.js”
这行命令的重点在于node命令的-r参数,参数值为esm。
如果程序的运行使用的是pm2,则可以使用类似以下的命令来启动应用:
pm2 start npm -- run <scriptname>
对于上例来说,就是:
pm2 start npm -- run start
方式二:
以上方式不能实现开发时的监听代码变化,一般我们使用nodemon来实现代码变化时自动进行代码转换的功能,以下方式可以在开发模式下,支持esm。
"dev": "cross-env NODE_ENV=dev nodemon server/index.js --watch server --exec babel-node"
方式三:
如果项目中使用的是纯的import,没有使用require,则可以使用node的--experimental-modules参数:
"start": "cross-env NODE_ENV=dev node --experimental-modules server/index.mjs”
本文介绍三种在Node.js环境中启动ESM模块的方式:直接修改package.json中的scripts配置使用esm;使用nodemon实现代码变化自动转换,适用于开发模式;使用--experimental-modules参数启动,适合纯import语法的项目。
1801

被折叠的 条评论
为什么被折叠?



