如何debuggingyeoman应用程序?

从使用服务器端语言/平台(如java,python / django和php)开发Web应用程序的背景下,我开始学习Node.js和yeoman。 我认为能够debugging服务器端代码是必不可less的,以提高代码质量。 节点支持通过节点检查器和–debug选项进行debugging。 但是,如果一个应用程序是使用一个生成器创build出来的,比如说AngularJS,并且使用grunt启动,那么是否有一种简单的方法来启用debugging?

也许我应该首先提出的一个更高层次的问题是:如果yeoman促进(作为教程中的特色)AngularJS,这是一个客户端MVC框架,那么大多数代码将从浏览器而不是从节点运行。 这就是为什么服务器端debugging不再重要的原因,因此没有logging?

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

  1. 安装节点检查器 。
  2. 修改应用程序'Gruntfile.js'为express服务器设置debug为'true'

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

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

注意: node-inspector –no-preload加载节点检查器的速度更快。

这样简单:

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

它将打开一个具有初始断点的Chrome开发工具。

  1. 安装节点检查器 :

    $ npm install -g node-inspector

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

    $ node-inspector

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

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

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

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

如果你使用AngularJSChrome你可以使用Batarang插件 。 在Yeoman项目中,您可以使用Grunt来检查您的应用程序:

也许答案不是通用的所有yeoman生成的应用程序,但我想出了angular-fullstack生成器,它已经表示为后端服务器。 通过在文件Gruntfile.js中将debug设置为true来启用debugging:

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

然后,默认情况下,可以启动节点检查器以在端口5858上进行debugging。