如何调试yeoman应用程序?

问题描述 投票:5回答:6

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

也许我应该首先提出的一个更高级别的问题是:如果yeoman推广(如教程中所述)AngularJS,它是一个客户端MVC框架,那么大多数代码将从浏览器而不是从Node运行。这就是为什么服务器端调试对于自耕农来说不再重要的原因,因此没有记录?

node.js debugging angularjs yeoman
6个回答
5
投票

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

  1. 安装node-inspector
  2. 修改应用程序'Gruntfile.js',将Express的设置为'true'

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可以更快地加载节点检查器。


6
投票

很简单:

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

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


3
投票
  1. 安装node-inspector: $ npm install -g node-inspector
  2. 启动Node Inspector服务器: $ node-inspector
  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

1
投票

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


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上进行调试。


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。

© www.soinside.com 2019 - 2024. All rights reserved.