要使用pm2来启动一个使用ts-node的TypeScript项目,首先需要确保已经全局安装了pm2和ts-node。
-
在项目根目录下创建一个启动文件,比如
index.ts
。 -
在
index.ts
文件中导入主要的应用程序文件,并调用该文件的启动函数。假设我们的应用程序文件是app.ts
,我们可以这样做:
import { startApp } from './app';
startApp();
- 在项目根目录下创建一个
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
用于更详细地配置文件监视选项。
- 在命令行中,切换到项目根目录,并使用以下命令运行pm2:
pm2 start ecosystem.config.js
这将使用ecosystem.config.js
文件中的配置启动应用程序。
现在,pm2会使用ts-node来执行TypeScript代码,并以集群模式启动应用程序。如果项目中的文件发生变化,pm2会自动重新启动应用程序。