最近在做一个项目,用的是 vite,本地开发没啥问题,但是如果想把该项目在开发机上启动,如果以常驻的方式启动后即使 shell 关闭后,页面也可以正常访问。
我用的是 pm2 对 node 进程进行管理,如果我们自己实现一个 node 服务,会有一个 js 文件用来启动服务,比如 app.js,那么使用 pm2 启动该服务的命令为:pm2 start app.js。
但是我们的启动 vite 时用的是 npm run dev 这种命令来启动服务,如何用 pm2 启动呢?npm run dev 的本质运行的 vite 这个命令,那 vite 命令的本质是什么?
如果你用 node 写过命令行工具,一定熟悉整个命令行执行的过程,node 命令行执行的过程,本质上是用 node 执行了一个 js 文件,那么 vite 肯定会包含一个 js 文件。
在 node_modules/vite/bin 下有一个 vite.js,使用 pm2 执行这个 js 文件即可让 vite 以常驻的方式启动。
"scripts": {
"dev": "vite",
"pm2": "pm2 start node_modules/vite/bin/vite.js"
}
那 PM2 是个啥?看这篇文章吧,很简单:
https://pm2.keymetrics.io/docs/usage/quick-start/
Shell 设置代理
</