Googleのデバッガーでgulpfile.js
に定義されているgulpタスクをデバッグするにはどうすればよいですかChromeデバッガー、タスクのコードを1行ずつステップ実行しますか?
Node.jsバージョン6.3以降では、タスクの実行時に --inspect
フラグ を使用できます。
css
という名前のgulpタスクをデバッグするには:
Gulp実行可能ファイルがどこにあるかを調べます。 gulpがローカルにインストールされている場合、これはnode_modules/.bin/gulp
になります。 gulpがグローバルにインストールされている場合は、ターミナルでwhich gulp
(Linux/Mac)またはwhere gulp
(Windows)を実行して検索します。
Node.jsのバージョンに応じて、これらのコマンドのいずれかを実行します。必要に応じて、./node_modules/.bin/gulp
をステップ1のgulpインストールへのパスに置き換えます。
node --inspect --debug-brk ./node_modules/.bin/gulp css
node --inspect-brk ./node_modules/.bin/gulp css
Chromeを使用してchrome://inspect
にアクセスします。
--debug-brk
(Node.js 6.3+)および--inspect-brk
(Node.js 7+)フラグは、タスクのコードの最初の行でコード実行を一時停止するために使用されます。これにより、Chromeデバッガーを開き、タスクが完了する前にブレークポイントを設定する機会が与えられます。
デバッガーをコードの最初の行で一時停止したくない場合は、--inspect
フラグを使用します。
Chrome用の Node.js Inspector Manager(NIM) 拡張機能をインストールして、手順3を支援することもできます。これにより、Chromeデバッガーの準備が整ったタブ。URLを手動で参照する代わりに.
VS Code 1.10+を使用している人向け
これが、launch.jsonファイルの外観です。
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.Microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Gulp task", "program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js", "args": [ "yourGulpTaskName" ] } ] }
Windowsでuser2943490に感謝します。このバージョンは私にとってうまくいきました:
node --inspect --debug-brk ./node_modules/gulp/bin/gulp.js --verbose
Gulp-nodemonを使用している場合は、gulpfileでこれを行うことができます。 execMapオプションを渡してください:
gulp.task('default', function() {
nodemon({
script: 'server.js',
ext: 'js',
execMap: {
js: "node --inspect"
}
})
}
お役に立てれば。
バージョン(ノードv8.11.3、npm 6.2.0、gulp 3.9.1)
Windows 10とgit bash
インストール Node.js V8 --inspector Manager(NiM) &に設定 preference
これを試して:
node --inspect-brk ./node_modules/gulp/bin/gulp.js --verbose
私は@Avi Yの答えが好きでしたが、人々がより完全なスクリプトを高く評価していたと思います。
gulp.task('nodemon', ['sass'], function(cb) {
var started = false;
consoleLog('nodemon started');
return nodemon({
//HERE REMOVE THE COMMENT AT THE BEGINING OF THE LINE YOU NEED
//exec: 'node --inspect --debug-brk node_modules/gulp/bin/gulp.js',
exec: 'node --inspect --debug-brk',
//exec: 'node --inspect',
script: path.server,
ignore: ['*/gulpfile.js', 'node_modules/*'],
verbose: true
}).on('start', function() {
if (!started) {
cb();
started = true;
}
}).on('restart', function() {
consoleLog('nodemon restarted the server');
});});