首页 文章

如何调试node / express?

提问于
浏览
0

当我在命令行使用 'npm start' 启动我的应用程序时,我可以在3000浏览它

..但是当我使用 'node app.js' 开始时

当我尝试 'node --debug app.js' 时,我得到一个带有消息的控制台窗口

“调试器侦听端口5858”

使用Visual Studio和节点工具包,我得到了相同的结果 . 使用Eclipse和Enide我也一样 .

我已经尝试使用内置命令行调试器的节点,但是在出现debug>提示符后发出continue或下一步命令什么也没做,我无法在以下位置浏览应用程序:3000

我安装了node-inspector,在 'node --debug app.js' 之后,我可以在node-inspector chrome选项卡中看到app.js:8080,但是't browse my app at :3000 and can' t可以让断点工作 .

我想要调试工作我需要运行 'node app.js' ,而不是使用 'npm start' ..

我错过了哪些重要的节点配置细节?

使用 'node app.js' 时,为什么我的应用程序无法浏览?

任何建议表示赞赏..

1 回答

  • 2

    您实际上是使用不同的代码以两种不同的方式启动应用程序 - 一个包含调试器,另一个包含调试器 .

    如果您运行默认的Express 4设置,如果您检查package.json文件,您将看到此部分:

    "scripts": {
        "start": "node ./bin/www"
      }
    

    这是运行 npm start 时执行的文件,因此运行节点 app.js 实际上是一个不同的脚本 .

    如果你看一下 bin/www ,你会看到调用了调试器:

    var debug = require('debug')('myapp');
    

    要运行使用:

    DEBUG=myapp ./bin/www
    

    如果您开始使用NPM,可以将其添加到package.json或使用与cmd行完全相同的命令:

    "scripts": {
        "start": "DEBUG=myapp node ./bin/www"
      }
    

相关问题