У меня есть приложение, которое использует модули esm и операторы импорта. Он отлично работает в разработке, используя флаг --experimental-modules с nodemon, но когда я запускаю его в работе с использованием навсегда, импорт завершается неудачно, потому что я не знаю, где поставить флаг. Когда я запускаю npm run build
с package.json, как показано ниже, он говорит sh: --experimental-modules: command not found
.
Если я добавлю --experimental-modules в часть сценария forever-config.json, то это скажет то же самое.
Я искал в интернете несколько раз. Как использовать флаг --experimental-modules с forever? Я использую 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"
}