我目前正在使用节点和nodemon。然后我开始认为使用带有节点的检查器有时很好,所以已经开始使用node-inspector
但是,是否可以同时运行两者?
通常运行nodemon我会使用:
nodemon server.js
//and similarly
node-debug server.js
我也尝试过:
nodemon --debug http.js
但遗憾的是,这也没有奏效。
但两者在一起!?
答案 0 :(得分:28)
如果你想将它们作为一个命令运行,这对我有用:node-inspector & nodemon --debug app.js
(用你的脚本名称替换app.js)。如果事情全部搞砸了,你偶尔会手动杀死node-inspector,但是这样运行命令可以让你选择运行rs
以便在需要时手动重启nodemon。 HTH
答案 1 :(得分:16)
您将使用nodemon --debug server.js
启动服务器,然后您需要在单独的终端窗口中运行node-inspector,除非您将nodemon推送到后台。
答案 2 :(得分:1)
对于那些想要独立于操作系统的解决方案而且没有黑客攻击等等的人
您可以使用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,并依靠节点检查器保存实时编辑功能来动态更改文件。
答案 3 :(得分:0)
我无法让nodemon与node-inspector一起玩得很好。一次更改后,它将重新启动,但之后不再重新启动。也许是因为我使用的是docker容器。
重新加载应用程序的最简单方法是让node-inspector这样做(我知道这不是两个运行的答案,但它对我有用)。
以下列方式启动您的申请:
node-inspector --save-live-edit & \
node --debug /app/server.js
答案 4 :(得分:0)
当我在Linux wrote a bash script上运行时,基于rpaskett's answer,因此您不必每次都记住这个笨拙的命令。
但是我在评论中注意到你正在运行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脚本。
答案 5 :(得分:0)
运行bash shell的Windows用户的一个hacky修复:
首先,add node-inspector to your Path.
(你可以找到npm用npm list -g
安装包的地方)
然后在bash中使用此命令,或将其添加到npm脚本中:
START /B node-inspector && nodemon --debug server.js
START /B
是在后台运行的Windows命令。
答案 6 :(得分:0)
您必须使用以下命令安装node-inspector和nodemon:
length
要在Windows中运行,请创建一个新的.bat文件并添加以下行:
length
并运行:
node_desarrollo.bat"要运行的文件的名称.js"
如果运行错误:
npm install -g nodemon
npm install -g node-inspector
正常,因为节点检查员需要打开该端口进行连接,但因为@echo off
echo Starting developer enviroment of the file %1
start nodemon --debug-brk %1
node-debug %1
打开了5858端口,无法打开并显示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
错误,请注意标记{{1在nodemon中,必须在第一行上建立一个断点。尝试在运行.bat后修改file.js并查看调试器上反映的更改。此调试器重新启动并显示file.js中所做的更改。快乐编码JS !!!
答案 7 :(得分:0)
{
"scripts": {
"dev": "npx nodemon --exec \"node --inspect --debug-port=0.0.0.0 src/index.js\""
}
}