无法使用pm2运行带有ts节点的typescript node.js应用程序

hujrc8aj  于 2023-03-04  发布在  TypeScript
关注(0)|答案(3)|浏览(348)

我已经创建了一个基本的节点应用程序与typescript的顶部。我用ts节点这样做,它的工作完全与nodemon罚款。但我需要把它移动到服务器现在我卡住了。PM2是显示错误的所有时间。我已经通过GitHub和其他答案的StackOverflow。没有帮助我在这里。请帮助。
我试过用PM2安装typescript和ts-node。但是它对我不起作用。我也试过直接运行文件,但是不起作用。我现在不知道该怎么解决这个问题。

"scripts": {
    "start": "nodemon -x ts-node src/server.ts"
  },
    • 使用简单的npm run start命令即可正常工作**
madbo@DESKTOP-CS5UFKE MINGW64 /e/shailesh/nodejs/NodeType
$ npm run start

> NodeType@1.0.0 start E:\shailesh\nodejs\NodeType
> nodemon -x ts-node src/server.ts

[nodemon] 1.18.5
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `ts-node src/server.ts`
24 Mar 22:33:23 - listening on port 3000
Mongoose default connection is open to  mongodb://localhost:27017/todo 😍
    • 到目前为止我尝试过但不起作用的方法*****(PM2已全局安装)***
pm2 start ts-node -- --type-check -r tsconfig-paths/register src/server.ts

"它给了我这个错误"

madbo@DESKTOP-CS5UFKE MINGW64 /e/shailesh/nodejs/NodeType
$ pm2 start ts-node -- --type-check -r tsconfig-paths/register src/server.ts
[PM2][ERROR] script not found : E:\shailesh\nodejs\NodeType\ts-node
script not found : E:\shailesh\nodejs\NodeType\ts-node
┌──────────┬────┬─────────┬──────┬─────┬────────┬─────────┬────────┬─────┬─────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
└──────────┴────┴─────────┴──────┴─────┴────────┴─────────┴────────┴─────┴─────┴──────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app
    • 我还使用了以下内容**
pm2 start npm  -- ts-node src/server.ts

并且得到了

$ pm2 start npm  -- ts-node src/server.ts
[PM2] Applying action restartProcessId on app [npm](ids: 0)
[PM2] [npm](0) ✓
[PM2] Process successfully started
┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬───────┬──────────┐
│ App name │ id │ version │ mode │ pid   │ status │ restart │ uptime │ cpu │ mem       │ user  │ watching │
├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼───────┼──────────┤
│ npm      │ 0  │ N/A     │ fork │ 11300 │ online │ 15      │ 0s     │ 0%  │ 21.5 MB   │ madbo │ disabled │
└──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴───────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

madbo@DESKTOP-CS5UFKE MINGW64 /e/shailesh/nodejs/NodeType
$ pm2 status
┌──────────┬────┬─────────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬───────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status  │ restart │ uptime │ cpu │ mem    │ user  │ watching │
├──────────┼────┼─────────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼───────┼──────────┤
│ npm      │ 0  │ N/A     │ fork │ 868 │ stopped │ 24      │ 0      │ 0%  │ 0 B    │ madbo │ disabled │
└──────────┴────┴─────────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴───────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

请帮我解决这个问题

我希望它能在服务器上与pm2的服务器上工作。我将是伟大的充分,如果你们中的任何人可以解决我的问题。谢谢

cdmah0mi

cdmah0mi1#

步骤1

创建一个文件www.example.comrun-ts.sh with

ts-node -T index.ts

步骤2

运行此命令

pm2 start run-ts.sh

这样,您就可以运行您的Typescript应用程序🚀

7ajki6be

7ajki6be2#

这是非常简单家伙。
只需将tscpm2手表与单个&组合使用即可运行这两个命令。

"scripts": {
    "serve": "tsc src/app.ts -w & pm2 start dist/app.js --watch"
},
qnakjoqk

qnakjoqk3#

我有同样的问题,下面甜的解决方案,我得到了,它可能会帮助你.
package.json

"scripts": {
      "start:local": "nodemon --exec ts-node local.ts",
      "start": "node index.js"
}

要运行npm,请从pm2开始运行

pm2 start npm  -- run start

要运行npm,请使用pm2运行start:local

pm2 start npm  -- run start:local

注意:全局安装的ts节点和pm2

相关问题