繁体   English   中英

如何调试yeoman应用程序?

[英]How to debug a yeoman application?

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

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

很简单:

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

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

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

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

  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

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

也许答案不是所有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上进行调试。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM