如何在pm2中使用Grunt/Gulp?

wil*_*ibi 7 javascript gruntjs gulp pm2

pm2是管理节点应用程序的绝佳工具.它如何与grunt/glup一起使用?谷歌搜索20分钟后,我没有找到任何有用的线索.

soy*_*uka 6

如果我理解你的问题,似乎你想要部署你的应用程序.

由于pm2 0.9部署可以pm2 deploy 参见README.

在grunt/gulp的情况下,我看到两个选项:

  1. 你有你的node_modules意思.使用pm2 deploy从以下post-deploy部分运行您的gulp进程:

    "post-deploy" : "node ./node_modules/gulp/bin/gulp.js ./GulpFile.js && pm2 startOrRestart ecosystem.json --env production"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用将为npm install您启动的基本脚本,您可以使用package.jsonto grunt/gulp:

    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node server.js",
        "postinstall": "./node_modules/bower/bin/bower -q -s -f install && ./node_modules/gulp/bin/gulp.js"
    },
    
    Run Code Online (Sandbox Code Playgroud)

我的gulp通常需要bower来缩小脚本,所以我只是为了举例而离开它.

您可以将这两个选项组合在一起,以便pm2 deploy安装npm脚本并在postinstall脚本中添加脚本package.json.

请注意,我正在使用gulp模块二进制文件的相对路径!如果未安装全局模块,则只是为了避免出现问题.

现在,在我看来,要在生产中部署一个应用程序,最好只需要一个git分支,其中所有内容都已预先准备好,这样你只能克隆那个分支,你就可以了.它还可以缩短部署时间,特别是如果您正在使用gulp或grunt运行测试...

希望足够清楚!