使用 PM2 在生产环境中部署 React 应用程序

Luk*_*vko 0 web-deployment reactjs pm2

我正在尝试通过 PM2 在服务器上部署我的 React 应用程序。我的 React 应用程序当前有 2 个环境:prod 和 dev。因此,在我的应用程序文件夹中,我有一个包含 2 个文件的环境文件夹:.dev.env.prod.env。第一个用于调用本地 API,第二个用于生产 API URL。prod.env 如下所示: 在此输入图像描述

当我想启动应用程序时,我使用命令npm run start:devnpm run start:prod,具体取决于我希望应用程序运行的环境。

这里的问题是,当我尝试通过 PM2 部署我的应用程序时,我应该执行什么命令或修改才能确定我的应用程序部署在生产/生产模式下?

我当前的 PM2 配置文件如下所示:

{
  apps : [
    {
      name      : "random_app", //name of my app
      script    : "npm",
      interpreter: "none",
      args: "run start:dev"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

Bet*_*ets 5

对于生产环境,您应该提供 React 应用程序的构建版本(运行npm run build它会将应用程序的生产就绪版本输出到构建文件夹)。

为了分离环境变量,您应该使用 .env.development 和 .env.Production 文件(构建版本将自动使用 .env.Production 文件) - 请参阅此处了解更多信息。

npm install -g serve然后要提供它,您可以使用 pm2 并使用类似命令来提供服务(确保也安装了服务) - 更多信息可以在此处pm2 serve <path/to/build/folder> <port> --spa找到。