Как отладить запуск приложения с помощью Gulp

node.js gulp node-inspector gulp-node-inspector

796 просмотра

3 ответа

6237 Репутация автора

Я столкнулся с препятствием на пути к новой команде, с которой я работаю, которая поддерживает приложение узла. Приложение запускается через 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 (одно в виде «веб-приложения», другое в качестве «прокси-приложения» отдыха для настоящих REST-сервисов на основе Java). То, что я хотел бы сделать, это настроить узел-инспектор, чтобы я мог устранить неполадки при запуске приложения, потому что я обнаружил, что последние версии их базовых пакетов не совместимы с 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

но ни одна из этих работ. Частично это, скорее всего, мое непонимание Гулпа. Кто-нибудь знает, как я могу отладить это приложение?

Автор: CodeChimp Источник Размещён: 18.07.2016 01:55

Ответы (3)


0 плюса

600 Репутация автора

Я потратил немало времени на поиск и поиск различных решений; в конце концов, тот, который работал для меня, был принятым ответом, найденным на этой странице:

Как отладить gulpfile.js

Это была единственная возможность, которая позволила мне действительно выполнить команду «отладчик» в моей задаче «gulp».

Я также должен отметить, что мне пришлось полностью удалить и переустановить «нод-инспектор»; была проблема с версией, и когда я был на грани ее решения, я получал некоторую ошибку «не могу найти модуль», потому что версия инспектора узла указывала на неправильную папку. Как только я удалил и переустановил (через npm), тогда это работало. В моем случае я на машине с Windows, и сработавшая команда выглядела следующим образом:

Отладка узла C: \ myPathWhereGulpfileDotJsExists \ node_modules \ gulp \ bin \ gulp.js --gulpfile C: \ myPathWhereGulpfileDotJsExists \ gulpfile.js myTestTaskContainedDebuggerCommand

Автор: David Barrows Размещён: 16.09.2016 03:14

0 плюса

1 Репутация автора

Маби это решение поможет тебе

node --inspect --debug-brk ./node_modules/gulp fonts
Автор: user7466460 Размещён: 24.01.2017 11:43

0 плюса

60 Репутация автора

Лучший способ сделать это сейчас - добавить debugger;место в файле, к которому вы хотите добавить точку останова, или установить его вручную после запуска отладчика.setBreakpoint('gulpFile.js', 1)

Тогда просто

node inspect --inspect-brk $(which gulp) taskName
c 

Больше информации об отладке с узлом здесь

Автор: jacob Размещён: 05.11.2017 04:51
Вопросы из категории :
32x32