node.js - 如何使用 --experimental-modules 标志永久运行 js
问题描述
我有一个使用 esm 模块和 import 语句的应用程序。它在开发中使用带有 nodemon 的 --experimental-modules 标志运行良好,但是当我在生产中使用永久运行它时,导入失败,因为我不知道将标志放在哪里。当我npm run build
使用 package.json 运行时,如下所示sh: --experimental-modules: command not found
。如果我将 --experimental-modules 添加到 forever-config.json 的“脚本”部分,它会说同样的话。
我已经在互联网上搜索了几次。如何永远使用 --experimental-modules 标志?我正在运行 Node v10.16.0。
{
"type": "module",
"name": "application_name",
"version": "1.0.0",
"private": true,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "concurrently \"npm run build:dev\" \"npm run start-server:dev\"",
"build": "npm run build:prod && npm run start-server:prod",
"build:dev": "webpack --config webpack-dev.config.js",
"build:prod": "webpack -p --config webpack-prod.config.js",
"start-server:dev": "NODE_ENV=development nodemon --config nodemon.json --experimental-modules src/server/index.mjs ",
"start-server:prod": "NODE_ENV=production --experimental-modules forever -o ./forever-out.log -e ./forever-error.log start forever-config.json"
},
//rest of package.json left out for brevity
}
永远-config.json
{
"uid": "application_name",
"max": 5,
"spinSleepTime": 1000,
"minUptime": 1000,
"append": true,
"watch": false,
"script": "src/server/index.mjs"
}
解决方案
如果您无法访问 forever-config.json,您可以像这样运行命令:
forever -c "node --experimental-modules" start app.js
推荐阅读
- c - 使用 openMP 并行化代码时,哪些变量应该是私有的和/或 firstprivate 的,什么时候合适?
- java - 无法将 Spring Data JPA 存储库注入 WebSphere 上的 EJB bean
- react-native - 如何在反应导航中更改抽屉导航中的背景颜色
- python - 无法将文件夹中的所有 TXT 转换为 CSV 文件
- python-3.x - pyinstaller 可执行文件失败
- android - 应用程序崩溃,空指针异常。列表视图给出空异常
- javascript - 如果没有发送任何内容,为什么当浏览器关闭时服务器上的我的 php SSE 文件继续工作?
- database - 不能在 DolphinDB 的函数定义中声明 share 语句
- mysql - 如何从多个选择查询中获取临时表中一行的列/字段数据?
- c# - 与已发布的已安装应用程序相比,代码的调试版本运行速度快 10 倍