5

来自使用服务器端语言/平台(如 java、python/django 和 php)开发 Web 应用程序的背景,我开始学习 Node.js 和 yeoman。我认为能够调试服务器端代码对于提高代码质量至关重要。Node 支持通过 node-inspector 和 --debug 选项进行调试。但是,如果应用程序是使用生成器(例如 AngularJS)从 yeoman 创建并使用 grunt 启动的,是否有一种简单的方法来启用调试?

也许我应该首先问一个更高层次的问题:如果 yeoman 推广(如教程中所介绍的)AngularJS,它是一个客户端 MVC 框架,那么大部分代码将从浏览器而不是 Node.js 运行。这就是为什么服务器端调试对 yeoman 不再重要因此没有记录的原因吗?

4

6 回答 6

6

像这样简单:

npm install -g node-inspector
node-debug yo GENERATOR_NAME

它会打开一个带有初始断点的 Chrome DevTool。

于 2014-09-18T11:26:22.213 回答
5

我正在开发一个 yemoan angular-fullstack 应用程序。我调试服务器端节点js应用程序代码如下;

  1. 安装节点检查器
  2. 修改应用程序“Gruntfile.js”以将快速服务器的调试设置为“真”

express: { dev: { options: { script: 'server/app.js', debug: true } } }

  1. 通过运行 grunt serve 启动应用程序。
  2. 在单独的终端运行node-inspector
  3. 打开 chrome 并导航到http://127.0.0.1:8080/debug?port=5858. (如果您看到 grunt 控制台,您会看到节点调试器位于端口 5858 上)。
  4. 现在您应该能够在您的服务器应用程序代码中放置断点和调试。您可以在代码中放置debugger语句以强制节点在该点中断并等待您的检查。

注意: node-inspector --no-preload 更快地加载节点检查器。

于 2015-01-06T04:19:06.397 回答
3
  1. 安装节点检查器

    $ npm install -g 节点检查器

  2. 启动节点检查器服务器:

    $节点检查器

  3. 在调试模式下使用 Yeoman-cli 运行 node.js:

    $ node --debug path\to\global\npm\node_modules\yo\cli.js MyGenerator

    其中“MyGenerator”是您要调试的 Yeoman 生成器名称。
    在 Windows 上,“path\to\global\npm”类似于“C:\Users{UserName}\AppData\Roaming\npm”。

  4. 打开 Chrome 或 Opera 并转到http://localhost:8080/debug?port=5858

于 2014-04-09T13:01:40.587 回答
1

如果您使用AngularJS并且Chrome可以使用Batarang 插件。在 Yeoman 项目中,您可以使用Grunt以下命令检查您的应用程序:

于 2013-08-15T14:17:11.110 回答
0

也许答案对于所有 yeoman 生成的应用程序都不是通用的,但我使用 angular-fullstack 生成器解决了这个问题,该生成器具有后端服务器。通过将文件 Gruntfile.js 中的 express 配置的 debug 设置为 true 来启用调试:

grunt.initConfig({
     ...
 express : {
    options : {
        port : process.env.PORT || 9000
    },
    dev : {
        options : {
            script : 'server.js',
            debug : true //enable debugging
        }
    },
    ...

然后可以启动 node-inspector 默认在端口 5858 上进行调试。

于 2013-12-03T01:45:03.280 回答
0

首先在 Gruntfile.js 中启用调试模式

grunt.initConfig({
...
express : {
options : {
    port : process.env.PORT || 9000
},
dev : {
    options : {
        script : 'server.js',
        debug : true //enable
    }
},
...

使用此命令保存并运行项目grunt serve:debug,现在您可以debugger;在项目的任何部分使用 var。

于 2019-03-29T19:48:42.900 回答