前言
PM2 是一个非常优秀的 Node.js 进程管理器,可以用于部署、监控、自动化等多种场景,受到了广大开发者的青睐。本文将介绍如何使用 PM2 进行前端应用部署,并分享一些需要注意的事项。
安装 PM2
在开始使用 PM2 之前,我们需要先安装它。在命令行中输入以下命令即可安装最新版 PM2:
npm i pm2 -g
如果你是 macOS 或 Linux 用户,你还可以使用 npm i pm2 -g --unsafe-perm
命令来解决权限问题。
部署前端应用
使用 PM2 部署前端应用非常简单,我们只需要执行以下步骤:
1. 编写 ecosystem.config.js
配置文件
在项目根目录中创建一个名为 ecosystem.config.js
的文件,并写入以下配置:
-- -------------------- ---- ------- -------------- - - ---- - -- ----- --------- ------- ---- ----- -- ------ ---- - --------- ------------ - -- -
name
是应用的名称,可自定义。script
是启动应用的命令,这里我们使用了 npx serve -l 3000
来启动静态文件服务器,并监听在 3000 端口上。也可以根据自己的应用情况来修改。
2. 启动应用
在项目根目录中,使用以下命令来启动应用:
pm2 start ecosystem.config.js
这条命令会启动 ecosystem.config.js
中定义的应用。
3. 查看运行状态
使用以下命令可以查看应用的运行状态:
pm2 list
我们可以在输出结果中看到我们刚刚启动的应用:
┌────┬─────────┬───────┬───────┬────────┬───────────────┬──────────┐ │ id │ name │ mode │ pid │ status │ restarts │ uptime │ ├────┼─────────┼───────┼───────┼────────┼───────────────┼──────────┤ │ 0 │ my-app │ fork │ 12345 │ online │ 43 (16h ago) │ 0s │ └────┴─────────┴───────┴───────┴────────┴───────────────┴──────────┘
4. 停止应用
使用以下命令可以停止应用:
pm2 stop my-app
这条命令会停止名为 my-app
的应用。
注意事项
在使用 PM2 进行前端应用部署的过程中,我们也需要注意一些事项:
环境变量
在实际部署过程中,我们需要根据不同的环境使用不同的配置,这时我们可以将配置写入环境变量。在 ecosystem.config.js
文件中,我们可以使用 env
字段来设置环境变量:
-- -------------------- ---- ------- -------------- - - ---- - -- ----- --------- ------- ---- ----- -- ------ ---- - --------- ------------- -------- ------------------------- - -- -
在代码中,我们可以使用 process.env
来获取环境变量:
const apiUrl = process.env.API_URL;
多应用部署
如果我们需要同时部署多个应用,可以在 ecosystem.config.js
文件中定义多个应用:
-- -------------------- ---- ------- -------------- - - ---- - -- ----- --------- ------- ---- ----- -- ------ ---- - --------- ------------ - -- - ----- --------------- ------- ----- ---------- ---- - --------- ------------ - -- -
在启动应用时,我们需要指定应用的名称:
pm2 start ecosystem.config.js --only my-app pm2 start ecosystem.config.js --only my-other-app
Webpack 编译
如果我们使用了 Webpack 来编译项目,我们需要修改 ecosystem.config.js
文件来使用 Webpack 的输出文件:
-- -------------------- ---- ------- -------------- - - ---- - -- ----- --------- ------- ---- ----- -- ------ ---- - --------- ------------ -- ------ -------- -- -
在代码中,我们需要将 script
字段改为 Webpack 输出的文件路径,例如:
<script src="./dist/main.js"></script>
自动化部署
为了更加方便地进行部署,我们可以使用 CI/CD 工具来自动化部署。例如使用 Travis CI,代码提交到指定分支时,Travis CI 可以自动执行部署脚本。
结论
使用 PM2 进行前端应用部署非常简单,你只需要编写一个简单的配置文件,即可快速部署应用。此外,在实际使用时,我们还需要注意环境变量、多应用部署、Webpack 编译等事项,以确保我们的应用能够正常运行。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/676d09d582fcee791c63559c