从使用服务器端语言/平台(如java,python / django和php)开发Web应用程序的背景来看,我开始学习Node.js和yeoman。我认为能够调试服务器端代码是必不可少的,以提高代码质量。 Node支持通过node-inspector和--debug选项进行调试。但是,如果使用生成器(例如AngularJS)使用生成器创建应用程序,并使用grunt启动,是否有一种简单的方法来启用调试?
我首先应该问的一个更高级别的问题是:如果yeoman推广(如教程中所述)AngularJS,它是一个客户端MVC框架,那么大多数代码将从浏览器而不是从Node运行。这就是为什么服务器端调试对于自耕农来说不再重要的原因,因此没有记录?
答案 0 :(得分:6)
这样简单:
npm install -g node-inspector
node-debug yo GENERATOR_NAME
它会打开一个带有初始断点的Chrome DevTool。
答案 1 :(得分:5)
我正在开发一个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可以更快地加载节点检查器。
答案 2 :(得分:3)
$ 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
答案 3 :(得分:1)
如果您使用AngularJS
和Chrome
,则可以使用Batarang plugin。在Yeoman项目中,您可以使用Grunt
检查您的应用程序:
答案 4 :(得分: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上进行调试。
答案 5 :(得分: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。