pm2 是管理节点应用程序的好工具。它如何与 grunt/glup 一起使用?谷歌搜索 20 分钟后,我没有找到任何有用的线索。
2 回答
如果我很好地理解了您的问题,那么您似乎想要部署您的应用程序。
由于 pm20.9
部署可以通过pm2 deploy
查看 README来完成。
在 grunt/gulp 的情况下,我看到两个选项:
你有你的
node_modules
承诺。使用pm2 deploy
从以下部分运行您的 gulp 进程post-deploy
:"post-deploy" : "node ./node_modules/gulp/bin/gulp.js ./GulpFile.js && pm2 startOrRestart ecosystem.json --env production"
使用将为
npm install
您启动的基本脚本,您可以使用package.json
to 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
脚本并postinstall
在package.json
.
请注意,我使用的是gulp
模块二进制文件的相对路径!如果未安装全局模块,这只是为了避免出现问题。
现在,在我看来,要在生产环境中部署应用程序,最好简单地拥有一个 git 分支,其中所有内容都已预先打包,这样您只需克隆该分支就可以了。它还可以缩短部署时间,尤其是当您使用 gulp 或 grunt 运行测试时...
希望这足够清楚!
回复可能会迟到它必须对其他人有用
在命令行上执行:
$ export NODE_ENV=production
将设置生产环境
$ grunt build
将创建必要的 min.js和min.css
$ pm2 start server.js
将加载服务器pm2
,它是一个包,确保节点服务器在出现错误时重新启动并记录。