[英]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應用程序代碼如下;
express: { dev: { options: { script: 'server/app.js', debug: true } } }
node-inspector
。 http://127.0.0.1:8080/debug?port=5858
。 (如果你看到grunt控制台,你會看到節點調試器在端口5858上)。 debugger
語句,以強制節點在該點斷開並等待檢查。 注意: node-inspector --no-preload可以更快地加載節點檢查器。
安裝node-inspector :
$ npm install -g node-inspector
啟動Node Inspector服務器:
$ node-inspector
在調試模式下使用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”。
打開Chrome或Opera,然后轉到http://localhost:8080/debug?port=5858
如果您使用AngularJS
和Chrome
,則可以使用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.