29

我目前正在使用 node 和nodemon。然后我开始认为有时使用带有节点的检查器可能会很好,所以我开始使用节点检查器

但是,是否可以同时运行两者?

通常要运行 nodemon 我会使用:

nodemon server.js
//and similarly 
node-debug server.js

我也试过:

nodemon --debug http.js

但遗憾的是,这也不起作用。

但是两个在一起!?

4

8 回答 8

28

如果您想将它们作为一个命令运行,这对我node-inspector & nodemon --debug app.js有用:(将 app.js 替换为您的脚本名称)。如果事情搞砸了,你偶尔会不得不手动杀死 node-inspector,但是以这种方式运行命令可以让你在rs需要时手动重新启动 nodemon。高温高压

于 2014-09-29T03:27:18.623 回答
17

您将启动您的服务器,nodemon --debug server.js然后您需要在单独的终端窗口中运行 node-inspector,除非您将 nodemon 推到后台。

于 2014-09-11T23:06:27.707 回答
1

对于那些想要一个独立于操作系统的解决方案并且没有针对 Windows 的 hack 等的人来说。

您可以使用 npm-run-all,它是一个 CLI 工具,允许并行或顺序运行多个 npm 脚本。因此,您将 package.json 设置为:

"scripts": {
  "start": "npm-run-all --parallel lint start:debug start:server",
  "lint": "eslint . --ext .js",
  "start:debug": "node-debug server.js",
  "start:server": "nodemon server.js"
}

然后从 CLI 执行:npm start

警告:根据我的经验,同时运行 nodemon 和 node-debug 有时会导致奇怪的节点检查器行为。因此,我在调试时选择从我的脚本中删除 nodemon,并依靠 node-inspectors save-live-edit 功能即时更改文件。

于 2016-10-14T22:03:42.170 回答
0

我无法让 nodemon 与 node-inspector 配合得很好。一次更改后它将重新启动,但之后不再。也许是因为我使用的是 docker 容器。

重新加载应用程序的最简单方法是让节点检查器执行它(我知道这不是同时运行的答案,但它对我有用)。

通过以下方式启动您的应用程序:

node-inspector --save-live-edit & \
node --debug /app/server.js
于 2015-06-01T03:03:28.610 回答
0

当我在 Linux 上运行时,我根据rpaskett 的回答编写了一个 bash 脚本,这样您就不必每次都记住那个尴尬的命令。

但是我在评论中注意到您正在运行 Windows。以下是您的一些选择:

您可以将 bash 脚本转换为Windows 批处理并将其另存为C:\Windows\System32\node-DEV.bat. 我做到了,它可以在我的 Windows PC 上运行:

@echo off
echo Starting DEV environment for %1
start node-inspector
nodemon --debug %1

然后你应该可以运行了node-DEV server.js

另外一个选项; 你可以运行类似nodedev的东西,它是用 Node.js 编写的,因此与平台无关,尽管它看起来有一段时间没有更新了。

或者,如果您手边有一个,您甚至可以在 Cygwin 环境中运行 bash 脚本。

于 2015-12-31T04:05:20.350 回答
0

针对运行 bash shell 的 Windows 用户的 hacky 修复:

首先,将节点检查器添加到您的路径。 (你可以找到 npm 在哪里安装包npm list -g

然后在 bash 中使用这个命令,或者将它添加到你的 npm 脚本中:

START /B node-inspector && nodemon --debug server.js

START /B是在后台运行的windows命令。

于 2016-01-18T07:30:58.127 回答
0

您必须使用以下命令安装 node-inspector 和 nodemon:

npm install -g nodemon
npm install -g node-inspector

要在 Windows 中运行,请创建一个新的 .bat 文件并添加以下行:

@echo off
echo Starting developer enviroment of the file %1
start nodemon --debug-brk %1
node-debug %1

并运行:

node_desarrollo.bat "要运行的文件名.js"

如果运行时出现错误:

Error: listen EADDRINUSE :::5858
    at Object.exports._errnoException (util.js:855:11)
    at exports._exceptionWithHostPort (util.js:878:20)
    at Agent.Server._listen2 (net.js:1237:14)
    at listen (net.js:1273:10)
    at Agent.Server.listen (net.js:1369:5)
    at Object.start (_debug_agent.js:21:9)
    at startup (node.js:72:9)
    at node.js:980:3

这是正常的,因为节点检查器需要打开该端口才能连接,但是由于nodemon --debug-brk %1打开了 5858 端口,它无法打开并显示EADDRINUSE :::5858错误,请注意--debug-brknodemon 的标志有必要在第一行设置断点。运行 .bat 后尝试修改 file.js 并查看调试器上反映的更改。此调试器重新启动并显示在 file.js 中所做的更改。快乐的 JS 编码!!!

于 2016-03-21T04:05:51.353 回答
0
{
    "scripts": {
        "dev": "npx nodemon --exec \"node  --inspect --debug-port=0.0.0.0  src/index.js\""
    }
}
于 2019-12-27T17:08:01.050 回答