我试过了
require('fs').writeFileSync('o.json', JSON.stringify(anObject));
Run Code Online (Sandbox Code Playgroud)
为了调试,我得到了 RefrenceError: require is not defined.
这很奇怪.它没有什么样的环境require?
与使用node-inspector调试jasmine-node测试几乎相同的问题但是有没有人知道如何使用节点检查器和业力?
当我调试 node rest api 时,我尝试使用 node-inspector
node-inspector
node --debug server.js
这样我就可以使用 localhost:3000/api 调试我的 api...如果我使用 node-debug,就没有办法了。它不会启动端口 3000。
但是我的代码是 ES6,所以在我当前的调试中,我的代码是由 Babel 转译的。
我尝试使用 babel-node-debug 但它似乎也与我使用 node-debug 的情况相同。我可以看到 ES6 代码,但无法通过端口 3000 进行调试。
任何解决方法?
我在命令行上运行此命令:
$ node --inspect --debug-brk test/src/dev/node/define/1.test.js
Debugger listening on ws://127.0.0.1:9229/93a5524a-ae0a-4aa2-a985-3cd6ac6a2b9f
For help see https://nodejs.org/en/docs/inspector
Run Code Online (Sandbox Code Playgroud)
通常,此命令吐出一个URL,然后将其复制并粘贴到浏览器中。有时它还会自动将Chrome打开到正确的URL,这样我就可以立即开始调试,这非常好。但是现在它不会记录要打开的URL,也不会自动打开URL!该死的。
请注意,以下网址不是打开的正确网址:
ws://127.0.0.1:9229/93a5524a-ae0a-4aa2-a985-3cd6ac6a2b9f
Run Code Online (Sandbox Code Playgroud)
有人在Node.js 6+版本中看到了吗?
google-chrome node.js node-inspector node-debugger blink-developer-tools
我正在开发一个 Node.js 项目,它运行良好(周五下午 3 点左右)。我今天早上打开了同一个项目,chrome 的调试器不再与我的 node --inspect 命令一起工作。
node --inspect server.js
Run Code Online (Sandbox Code Playgroud)
它告诉我它创建了一个可以连接的网络套接字。我可以使用 chrome 的标准 ws url 手动连接此 websocket:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/{{YOUR_KEY}}
Run Code Online (Sandbox Code Playgroud)
但这意味着我在重新加载应用程序时无法连接。chrome://inspect#devices页面上也没有显示
我正在运行最新版本的节点(10.15)。我已经在金丝雀和铬浏览器上对此进行了测试。Canary 也有同样的问题,但在 chromium 上似乎工作得很好。
Chrome 发布了新的更新吗?我该如何解决这个问题并打开我的调试器!?
编辑
我现在可以打开节点开发工具,但它没有响应我的代码。看起来它正在尝试连接,但随后失败并尝试再次重新连接。开发工具还每秒左右与我的 Express 应用程序创建一个会话。chromium 方式仅适用于单个应用程序,并且 websocket 不会重新连接,这意味着每次更改代码时我都必须打开我的应用程序。
google-chrome node.js google-chrome-devtools node-inspector chrome-canary
我试图在 netlify 函数内部设置一个断点,该函数通过netlify dev以下设置执行:
npm install netlify-cli -g
Run Code Online (Sandbox Code Playgroud)
netlify.toml[build]
functions = "functions/"
Run Code Online (Sandbox Code Playgroud)
functions/hello.js[build]
functions = "functions/"
Run Code Online (Sandbox Code Playgroud)
这是一个带有设置的示例项目
您应该能够通过以下方式正常运行netlify dev
这将在以下地址公开该函数:
http://localhost:8888/.netlify/functions/hello?name=KyleRun Code Online (Sandbox Code Playgroud)
Launch.config在 VSCode 中,您应该能够使用launch.config. 我尝试过以下配置
exports.handler = async(event, context) => {
let output = `Hello, ${event.queryStringParameters.name}`
return { statusCode: 200, body: output};
}
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
http://localhost:8888/.netlify/functions/hello?name=KyleRun Code Online (Sandbox Code Playgroud)
--inspect有很多利用节点--inspectswitch的示例,但我不知道如何让它与 VS Code 断点一起使用。
我们现在使用docker容器进行开发和deplyoment一段时间,它就像一个魅力.直到现在两个配置都是相同的,并且使用顶部无花果,开发人员的生活也变得更加容易.
当我们在节点开发中越来越多地使用它时,我们现在需要在开发(检查器,配置文件等)时使用一些额外的工具,这些工具在生产容器中显然是不需要的.再次捕获node-inspector:它需要公开一个端口以连接到浏览器,以便自己查看该工具.
这里是brieffly我们的fig.yml文件:
indexer:
build: .
volumes:
- .:/src
links:
- db
- amqp
- search
amqp:
ports:
- "5672:5672"
- "15672:15672"
image: mikaelhg/docker-rabbitmq
db:
ports:
- "3306:3306"
image: tutum/mysql:5.6
search:
ports:
- "9002:9002"
- "9300:9300"
image: dockerfile/elasticsearch
Run Code Online (Sandbox Code Playgroud)
"Indexer"是我们的app容器,可以多次推出,将其配置更改为:
indexer:
ports:
- "8080:8080"
build: .
volumes:
- .:/src
links:
- db
- amqp
- search
Run Code Online (Sandbox Code Playgroud)
掩盖了一个小问题:当我们发射其中许多时,映射的端口显然成为问题,并且实际上没有检查员可用.
我的第一个getto解决方案就是创建一个新的"indexer-dev"容器来启动它只是为了调试目的,但它不足以因为我们fig up在shell上运行方便只是为了把所有东西都搞定,然后另一个fig run indexer dev bash在另一个用于我们的调试目的.所以我现在正在做的只是fig up随后手动启动带有neede转发端口的容器:docker run -i -t -p 8080:8080 indexer:latest
以更自动的方式进行此操作的最佳方式是什么?比如开发人员可以通过无花果继续发布容器并选择可能或可能没有导出端口的实例?
谢谢你的任何建议.
欢呼卢西奥
我npm start用来启动我的MEAN堆栈应用程序,但我想使用node-inspector来调试一些Mongoose.我知道我可以开始与节点检查node-inspector,但我能替代node --debug app.js与使npm start工作在我的情况?
这是我的MEAN堆栈目录结构:
HTML views/
Angular.js public/javascript/
Express.js routes/
Node.js app.js
Mongoose js models/, connected in app.js
Mongo db connected in app.js
Run Code Online (Sandbox Code Playgroud)
有关更多信息,这是我的相关问题.
我试图安装并运行node-inspector一堆不同的命令,仍然无法运行它:
Jordans-MacBook-Pro:angular-express-blog jordanbaucke$ node-inspector
-bash: node-inspector: command not found
Run Code Online (Sandbox Code Playgroud)
这是我的配置
Jordans-MacBook-Pro:angular-express-blog jordanbaucke$ node -v
v0.10.15
Jordans-MacBook-Pro:angular-express-blog jordanbaucke$ npm -v
1.3.5
Run Code Online (Sandbox Code Playgroud)
我安装使用:
Jordans-MacBook-Pro:angular-express-blog jordanbaucke$ sudo npm install -g node-inspector
Password:
npm http GET https://registry.npmjs.org/node-inspector
npm http 304 https://registry.npmjs.org/node-inspector
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/socket.io
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/minimatch
npm …Run Code Online (Sandbox Code Playgroud) 我在Nitrous盒子上运行了一个简单的Meteor应用程序.我希望能够使用node-inspector服务器端的调试(如描述在这里),但我无法进入控制台.
我的Meteor应用程序在盒子上本地运行http://0.0.0.0:3000/,我可以按照此处的指南在Chrome中查看它.当我运行时node-inspector,我收到此消息:
Node Inspector v0.8.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
Run Code Online (Sandbox Code Playgroud)
我怎样才能到达这个地址?我试过了:
https://example-name.example-region.nitrous.io:8080/debug?port=5858node-inspector --web-host 0.0.0.0node-inspector --web-host https://example-name.example-region.nitrous.io思考?有没有办法可以进入这个控制台?
我克隆了meanjs并在启动时使用npm install和grunt运行它显示调试器在端口5858上侦听,但是当我打开chrome时
本地主机:8080 /调试端口= 5858
它显示网页不可用.有什么我需要做的让node-inspector调试器为meanjs工作?
我正在尝试使用不同的环境来调试 Nodejs 应用程序。我正在使用pm2, 和--watch标志来运行此应用程序,以便在更改/保存文件时我的应用程序会重新启动。相关脚本如下:
"start": "node --inspect -r tsconfig-paths/register -r ts-node/register ./src/server.ts",
"launch": "pm2 start pm2.config.js",
Run Code Online (Sandbox Code Playgroud)
我的 pm2.config.js 看起来像这样:
"start": "node --inspect -r tsconfig-paths/register -r ts-node/register ./src/server.ts",
"launch": "pm2 start pm2.config.js",
Run Code Online (Sandbox Code Playgroud)
到目前为止,我一直在 chrome 节点检查器中进行调试。我还使用了 chrome 扩展NodeJS Inspector Manager,它是节点检查器的一个很好的包装器。它有一个漂亮的用户界面,您可以看到有自动附加和自动恢复的选项:
启用这些后,每当我在项目中保存文件时,pm2 都会重新启动应用程序。NiMs 自动分离并重新附加到正在运行的应用程序,并且我有一个交互式 chrome 检查器调试环境,可以通过应用程序重新启动来刷新。
我想在 vscode 调试器中重现这种效果。我可以手动启动一个调试会话,该会话附加到通过 pm2 运行的应用程序。在Debugging With PM2 And Vscode的帮助下,我能够指示 vscode 调试器附加到通过 pm2 运行的应用程序。但是,当我保存文件时,pm2 重新启动进程,vscode 调试器会分离,但不会重新附加。
NiMs 有一个vscode 扩展,但据我所知,它似乎没有在 vscode 中提供与 chrome 中相同的功能。
有没有办法设置 vscode 调试器附加到 pm2 进程,并在进程重新启动时自动重新启动(在同一调试器端口上)?
node.js node-inspector pm2 visual-studio-code vscode-debugger
我可以使用node-inspector来调试我的nodemon应用程序.但我想调试我的测试.所以我了解到我需要在调试模式启动mocha(mocha --debug)问题是,这将尝试在端口5858上默认调试,在我的情况下nodemon正在使用.所以我需要更改其中一个的调试端口,我该怎么做?
node-inspector ×13
node.js ×11
debugging ×2
javascript ×2
mean-stack ×2
babeljs ×1
docker ×1
fig ×1
karma-runner ×1
meanjs ×1
meteor ×1
mocha.js ×1
mongoose ×1
nitrousio ×1
nodemon ×1
pm2 ×1