node.js - 如果从 gulp 启动,则使用 pm2 启动应用程序

标签 node.js gulp pm2

您好,我正在按照教程构建 nodejs 应用程序。本教程使用 gulp,运行我的应用程序,我只是执行 gulp dev 来开始所有事情。在我的 gulpfile 中,我有:

var fs = require('fs')
var gulp = require('gulp')

fs.readdirSync(__dirname+'/gulp').forEach(function(task){
    require('./gulp/' + task)
})

gulp.task('dev', ['watch:css', 'watch:js', 'dev:server'])

./gulp/server.js中的代码

var gulp = require('gulp')
var nodemon = require('gulp-nodemon')

gulp.task('dev:server', function(){
    nodemon({
        script: 'server.js',
        ext:'js',
        ignore: ['ng*', 'gulp*', 'assets*'],
        env: { 'NODE_ENV': require('../config').ENV }
    })
})

是否可以通过这种 gulp 设置以某种方式使用 pm2,我在 stackoverflow 和 google 中看到了一些问题,但无法完成任何事情。如果有人可以帮助我会很棒。提前谢谢你。

最佳答案

可在 http://pm2.keymetrics.io/docs/usage/pm2-api/ 获取

var gulp = require('gulp');
var pm2 = require('pm2');

gulp.task('dev:server', function () {
    pm2.connect(true, function () {
        pm2.start({
            name: 'server',
            script: 'server.js',
            env: {
                "NODE_ENV": require('../config').ENV
            }
        }, function () {
            console.log('pm2 started');
            pm2.streamLogs('all', 0);
        });
    });
});

来自 https://github.com/Unitech/PM2/issues/1525#issuecomment-134236549 的实现

关于node.js - 如果从 gulp 启动,则使用 pm2 启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807786/

相关文章:

javascript - 数组在嵌套函数中可用,但不在同一级别?

python - Node.js如何调用Python代码?

javascript - 防止函数同时被调用两次

node.js - 如何在没有 Firebase 和自己的自定义后端的情况下使用 Flutter 设置推送通知

symfony - 有没有办法自动从 Assetic 迁移到 gulp?

python - 从当前进程创建 PM2 生态系统文件

javascript - 使用 PM2 和 child_process.exec 无需每次都打开新的命令提示符

gulp-iconfont 任务不填充 unicode 值

javascript - 使用循环创建任务 [gulp]

linux - 在端口 80 上使用 pm2 启动应用程序时,应用程序生成 "Error: listen EACCES"?