无法显示来自打字稿脚本的 console.log 函数的消息

问题描述 投票:0回答:1

我正在使用“npm run dev”运行一个 node.js 应用程序,没有问题,并且有一些 typescript 脚本/文件。我正在使用 nodemon 来运行我的代码:

这是我的 package.json:

{
  "scripts": {
    "start": "ts-node ./src/index.ts",
    "dev": "nodemon --watch \"./src/**/*.ts\" --exec \"ts-node\" ./src/index.ts"
  },
  "devDependencies": {
    "@types/express": "^4.17.2",
    "@types/socket.io": "^2.1.4",
    "nodemon": "^2.0.22",
    "ts-node": "^8.10.2",
    "typescript": "^3.7.2"
  },
  "dependencies": {
    "express": "^4.17.1",
    "socket.io": "^2.3.0"
  }
}

这是我的文件结构:

我想在控制台中显示我在 server.ts 文件中写入的 console.log 消息,但我无法显示它。

我尝试在开发密钥中使用 --inspect 标志:

"dev": "nodemon --watch \"./src/**/*.ts\" --exec \"ts-node\" ./src/index.ts"

就是这样:

"dev": "nodemon --inspect --watch \"./src/**/*.ts\" --exec \"ts-node\" ./src/index.ts"

但是我有一个错误:

Unknown or unexpected option: --inspect

我也测试过:

--inspect-brk

我得到了未知或意外的选项:--inspect-brk

如我们所见:

打字稿文件的控制台中没有显示任何消息。我想知道如何通过使用 nodemon 或避免它来解决这个问题。非常感谢。

node.js typescript npm nodemon
1个回答
0
投票

nodemon
+
ts-node
不支持
--inspect

为了支持它,我不得不排很长的队,使用
nodemon
来启动
node

"nodemonx": "nodemon --watch src --exec 'node --experimental-specifier-resolution=node --loader ts-node/esm/transpile-only --inspect src/index.ts'",

我强烈建议切换到

tsx
https://github.com/esbuild-kit/tsx),然后它只是

"dev": "tsx watch --inspect src" // for src/index.ts 

具有编译缓存和更好的 cjs/esm 互操作


另一种选择是在 VSCode

Javascript Debugging Terminal
中运行它,它修补了
node
以始终在
--inspect
上运行

© www.soinside.com 2019 - 2024. All rights reserved.