我遇到了一个路障,我正在使用一个支持节点应用程序的新团队。该应用程序是通过Gulp启动的,设置是这样的,有一个“核心”NPM模块,定义了一堆gulp任务和一个“服务器”,我们的应用程序只是安装这个包,我们的代码被复制为“插件“到服务器。
在我们的gulpfile.js中,我们有类似的内容:
var gulp = require('gulp');
var workflow = require('base-workflow');
workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
...more stuff
其中引入base:default
并最终启动了几个Hapi服务器(一个作为“web”应用程序,一个作为基于Java的真实REST服务的“rest”代理应用程序)。我想要做的是设置node-inpector,以便我可以解决应用程序的启动问题,因为我发现它们的基本软件包的最新版本不兼容Mac。
我尝试过安装gulp-node-inspector并进行以下更改:
var gulp = require('gulp');
var nodeInspector = require('gulp-node-inspector');
var workflow = require('base-workflow');
workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
gulp.task('debug', ['default'], function() { gulp.src([]).pipe(nodeInspector({debugBrk: true})); });
...more stuff
还有:
var gulp = require('gulp');
var nodeInspector = require('gulp-node-inspector');
var workflow = require('base-workflow');
workflow.use({ gulp: gulp });
gulp.task('default'), ['base:default']);
gulp.task('debug', function() { gulp.src(['default']).pipe(nodeInspector({debugBrk: true})); });
...more stuff
但这些都不起作用。部分原因很可能是我对Gulp缺乏了解。有谁知道如何调试这个应用程序?
答案 0 :(得分:0)
我花了很多时间在Google上搜索各种解决方案;最后,对我有用的是本页面上接受的答案:
这是唯一允许我在我的gulp任务中实际执行“调试器”命令的命令。
我还应该注意,我必须完全卸载并重新安装“node-inspector”;有一个版本问题,当我即将解决它时,我得到一些“找不到模块”错误,因为node-inspector的版本导致它指向错误的文件夹。一旦我卸载并重新安装(通过npm),它就可以工作了。在我的情况下,我在Windows机器上,并且有效的命令如下所示:
node-debug C:\ myPathWhereGulpfileDotJsExists \ node_modules \ gulp \ bin \ gulp.js --gulpfile C:\ myPathWhereGulpfileDotJsExists \ gulpfile.js myTestTaskContainingDebuggerCommand
答案 1 :(得分:0)
Maby这个解决方案可以帮助您
node --inspect --debug-brk ./node_modules/gulp fonts
答案 2 :(得分:0)
现在执行此操作的最佳方法是将debugger;
添加到要添加断点的文件中的位置,或者在调试器以setBreakpoint('gulpFile.js', 1)
<启动后手动设置它/ p>
然后简单地
node inspect --inspect-brk $(which gulp) taskName
c
有关使用节点here
进行调试的详细信息