8

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

4

2 回答 2

6

如果我很好地理解了您的问题,那么您似乎想要部署您的应用程序。

由于 pm20.9部署可以通过pm2 deploy 查看 README来完成。

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

  1. 你有你的node_modules承诺。使用pm2 deploy从以下部分运行您的 gulp 进程post-deploy

    "post-deploy" : "node ./node_modules/gulp/bin/gulp.js ./GulpFile.js && pm2 startOrRestart ecosystem.json --env production"
    
  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"
    },
    

我的 gulp 通常需要 bower 来缩小脚本,所以我仅出于示例目的而将其保留。

您可以结合这两个选项来pm2 deploy安装您的npm脚本并postinstallpackage.json.

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

现在,在我看来,要在生产环境中部署应用程序,最好简单地拥有一个 git 分支,其中所有内容都已预先打包,这样您只需克隆该分支就可以了。它还可以缩短部署时间,尤其是当您使用 gulp 或 grunt 运行测试时...

希望这足够清楚!

于 2014-08-13T14:59:50.600 回答
1

回复可能会迟到它必须对其他人有用

在命令行上执行:

$ export NODE_ENV=production

将设置生产环境

$ grunt build

将创建必要的 min.jsmin.css

$ pm2 start server.js

将加载服务器pm2,它是一个包,确保节点服务器在出现错误时重新启动并记录。

于 2018-03-06T05:48:12.647 回答