Установка точек останова в коде сервера Sapper - возможно ли это? - PullRequest
0 голосов
/ 17 января 2020

Я играл с шаблоном fre sh Sapper ("sveltejs/sapper-template#webpack") и хотел установить точку останова в src/server.js с помощью WebStorm. Установить точку останова достаточно просто, но я не могу заставить отладчик приостановить выполнение при достижении точки останова. Я пробовал кучу разных вещей, прежде чем до меня дошло, что, вероятно, нет способа заставить это работать из-за того, как работает Svelte / Sapper, то есть компилятор генерирует набор новых файлов, который фактически выполняется. Поэтому, когда я устанавливаю точку останова в «обращенном к разработчику» файле, который имеет нулевой эффект, так как фактически создаются исполняемые файлы. В частности, я говорю о файле src/server.js для разработчика и сгенерированном файле в __sapper__/dev/server/server.js.

Я наткнулся на видео на YouTube, где то, что я пытаюсь сделать, успешно демонстрируется: https://www.youtube.com/watch?v=x155wGkbKm8. В видео автор использует Sapper cli.js в качестве драйвера и dev в качестве аргумента - это то, что происходит под капотом при запуске npm run dev. Однако, как вы увидите на видео, файл server.js, который успешно используется, это файл в src/, а не сгенерированный в __sapper__/build/server/. Это не имеет смысла для меня.

Итак, мои вопросы:

1) Кто-нибудь еще мог устанавливать контрольные точки в пользовательском коде Sapper, ориентированном на разработчика, как описано выше? а что показано на видео? Если да, то как вы это сделали?

2) Если установка точек останова напрямую, как это невозможно, возможно ли использовать вместо этого сгенерированный код, но внести некоторые изменения в шаг сборки, чтобы сгенерированный код больше подходит для отладки?

Если есть другие варианты, мне также интересно узнать о них. Спасибо!

1 Ответ

0 голосов
/ 21 января 2020

Запустите cli с включенным --inspect:

node --inspect node_modules/sapper/dist/cli.js dev

Затем откройте отладчик, зайдя в браузер chrome://inspect.

Вы можете вручную установить точки останова в «источнике» или используйте ключевое слово debugger в вашем коде.

...