簡體   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