使用pm2来启动一个使用ts-node的TypeScript项目

18 min read

要使用pm2来启动一个使用ts-node的TypeScript项目,首先需要确保已经全局安装了pm2和ts-node。

  1. 在项目根目录下创建一个启动文件,比如index.ts

  2. index.ts文件中导入主要的应用程序文件,并调用该文件的启动函数。假设我们的应用程序文件是app.ts,我们可以这样做:

import { startApp } from './app';

startApp();
  1. 在项目根目录下创建一个ecosystem.config.js文件,用于配置pm2。
module.exports = {
  apps: [
    {
      name: 'my-app',
      script: 'ts-node',
      args: 'index.ts',
      exec_mode: 'cluster',
      watch: true,
      ignore_watch: ['node_modules', 'data', 'logs'],
      watch_options: {
        followSymlinks: false,
      },
    },
  ],
};

在这个配置文件中,我们定义了一个名为my-app的应用程序,使用ts-node来执行index.ts文件,并使用集群模式启动。

我们还定义了一些其他的配置项,比如watch用于监视文件变化并自动重启应用程序,ignore_watch用于指定哪些文件夹不需要监视,watch_options用于更详细地配置文件监视选项。

  1. 在命令行中,切换到项目根目录,并使用以下命令运行pm2:
pm2 start ecosystem.config.js

这将使用ecosystem.config.js文件中的配置启动应用程序。

现在,pm2会使用ts-node来执行TypeScript代码,并以集群模式启动应用程序。如果项目中的文件发生变化,pm2会自动重新启动应用程序。