我想在Windows Server 2016 OS每次启动时自动启动node.js应用程序和服务器。
我已经找到“ node-windows”和“ qckwinsvc”作为可能的解决方案,但是我不明白如何使用保存在下面package.json中的启动选项启动应用程序(例如,host,prod,ip, max-old-space-size等)
此外,如果由于程序错误(例如javascript堆内存不足)而导致节点应用程序崩溃,我想知道这些服务是否还会重新启动该节点应用程序
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod --base-href ./",
"build-dev": "ng build --base-href ./",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"app": "ng serve --host=0.0.0.0 --prod --open",
"app-dev": "ng serve --host=localhost --open",
"server": "export NODE_ENV=production && export IP=172.28.0.19 && node --max-old-space-size=4096 server/server.ts",
"server-dev": "export NODE_ENV=development && export IP=localhost && node server/server.ts",
"static": "http-server ./dist/lead -p 8080 -a 0.0.0.0 -o",
"static-dev": "~/.node/lib/node_modules/http-server/bin/http-server ./dist/lead -p 4200 -a localhost -o",
"format": "tslint --fix \"./src/app/**/*.ts\" && tslint --fix \"./server/**/*.ts\" && prettier --write \"./src/app/**/*.{ts,json,css,html}\" && prettier --write \"./server/**/*.ts\" && ng lint"
},
完美的解决方案是使用所有提供的启动选项自动启动服务器和应用程序,并在崩溃时重新启动应用程序。
将非常感谢您的任何帮助:)
dotenv是用于环境参数管理的流行库。您可以像NODE_ENV=prod node app.js
这样启动您的应用,并可以像process.env.NODE_ENV
这样从您的应用中访问此值。