如何使用node.js npm脚本来设置主pipe3.3.1

我正在运行版本3.3.1

除了我的/etc/supervisor/supervisord.conf文件:

 [program:node] directory=/srv/www command=npm run demo autostart=true autorestart=true 

除了脚本下的我的package.json文件之外:

 "demo": "npm run prod", "prod": "NODE_ENV=production NODE_PATH=\"$(pwd)\" node src/index.js" 

我尝试通过supervisorctlclosures节点程序,但是它仍然存在。

 root@dev-demo-karl:/srv/www# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.8 50280 18404 ? Ss 08:43 0:00 /usr/bin/python /usr/bin/supervisord root 8 0.2 2.4 1003412 49456 ? Sl 08:43 0:00 npm root 16 0.9 2.3 295224 47704 ? SLl 08:43 0:02 /usr/bin/mongod --auth --fork --smallfiles --logpath /var/log/mongodb.log root 44 0.0 0.0 4512 808 ? S 08:43 0:00 sh -c npm run prod root 45 0.2 2.4 1003924 49628 ? Sl 08:43 0:00 npm root 56 0.0 0.0 4512 716 ? S 08:43 0:00 sh -c NODE_ENV=production NODE_PATH="$(pwd)" node src/index.js root 60 1.5 7.0 1069880 145108 ? Sl 08:43 0:04 node src/index.js root 96 0.0 0.1 18244 3340 ? Ss 08:44 0:00 bash root 134 0.0 0.1 34424 2896 ? R+ 08:48 0:00 ps aux root@dev-demo-karl:/srv/www# supervisorctl mongod FATAL Exited too quickly (process log may have details) node RUNNING pid 8, uptime 0:05:04 supervisor> stop node node: stopped supervisor> status mongod FATAL Exited too quickly (process log may have details) node STOPPED May 05 08:48 AM supervisor> exit root@dev-demo-karl:/srv/www# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.9 50280 18448 ? Ss 08:43 0:00 /usr/bin/python /usr/bin/supervisord root 16 0.9 2.3 296324 47704 ? SLl 08:43 0:03 /usr/bin/mongod --auth --fork --smallfiles --logpath /var/log/mongodb.log root 45 0.2 2.4 1003924 49628 ? Sl 08:43 0:00 npm root 56 0.0 0.0 4512 716 ? S 08:43 0:00 sh -c NODE_ENV=production NODE_PATH="$(pwd)" node src/index.js root 60 1.4 7.0 1069880 143996 ? Sl 08:43 0:04 node src/index.js root 96 0.0 0.1 18244 3340 ? Ss 08:44 0:00 bash root 136 0.0 0.1 34424 2892 ? R+ 08:48 0:00 ps aux 

我想知道如何正确设置节点npm脚本的主pipe。 互联网指南没有显示,但我已经做了上面的。 我无法控制停止/启动它。

我通过在我的package.json中创build一个脚本解决了这个问题:

 ... "scripts": { "start-continuous": "supervisor server/server.js", }, ... 

如果您的主pipe人员安装在您的全球范围内,这将工作。

 npm install supervisor -g 

现在我所做的是:npm run start-continuous

我希望这有帮助。