我有一个Nodejs应用程序,并使用Babel启用了ES6功能。我可以在开发模式下在本地系统上运行它。我想使用PM2将其部署到Kubernetes。
当我尝试使用process.json与PM2一起运行时,它给出了一个错误。
/bin/bash:1
15:59:52 23|app | (function (exports, require, module, __filename, __dirname) { ����
15:59:52 23|app | ^
15:59:52 23|app | SyntaxError: Invalid or unexpected token
15:59:52 23|app | at new Script (vm.js:85:7)
15:59:52 23|app | at createScript (vm.js:266:10)
15:59:52 23|app | at Object.runInThisContext (vm.js:314:10)
15:59:52 23|app | at Module._compile (internal/modules/cjs/loader.js:698:28)
15:59:52 23|app | at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
15:59:52 23|app | at Module.load (internal/modules/cjs/loader.js:630:32)
15:59:52 23|app | at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
15:59:52 23|app | at Function.Module._load (internal/modules/cjs/loader.js:562:3)
这是我的process.json
{
"apps": [
{
"name": "app",
"script": "./dist/bin/www.js --env production",
"exec_mode": "cluster",
"instances": 0,
"max_restarts": 20,
"env": {
"NODE_ENV": "production"
},
"env_production": {
"NODE_ENV": "production"
}
}
]
}
当我运行此命令pm2 ./dist/bin/www.js --env production
时,它可以正常工作,但是当我尝试使用pm2 start process.json --no-daemon
之类的process.json运行它时,则会抛出上述错误。
我正在本地系统上进行尝试,但是当我使用带有kubectl
的Dockerfile部署到gcloud时也会发生这种情况
有人可以将我指向正确的方向吗?
答案 0 :(得分:1)
尝试此process.json:
{
"apps": [
{
"name": "app",
"script": "./dist/bin/www.js",
"exec_mode": "cluster",
"instances": 0,
"max_restarts": 20,
"env": {
"NODE_ENV": "development"
},
"env_production": {
"NODE_ENV": "production"
}
}
]
}
CLI:
pm2 start process.json --no-daemon --env production