Использование Node.js с потоком в WebStorm - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь настроить WebStorm с типизацией потока для проекта Node.js.

У меня все отлично работает со скриптами NPM, но я хотел бы интегрироваться с IDE.

Вот часть сценариев моего package.json:

"scripts": {
    "dev":
    "watch --wait=1 'flow-remove-types src/ -d lib/ --all --pretty' ./src/ & nodemon ./lib/server.js",
    "start": "npm run flow:build && node ./lib/",
    "lint": "eslint src/**",
    "test": "npm run flow:build && jest lib",
    "coverage": "jest --collectCoverageFrom=src/**.js --coverage src",
    "flow": "flow",
    "flow:check": "flow check ./src/",
    "flow:build": "flow-remove-types ./src/ -d ./lib/ --all --pretty",
    "flow:deps": "flow-typed install",
    "flow:watch": "flow-watch"
  },

Теперь, если я изменю конфигурацию запуска для теста и:

  • изменить каталог src на lib
  • укажите перед запуском, запустите скрипт NPM 'flow: build'

тогда я могу запустить эту конфигурацию.

У меня все еще есть две проблемы.

  1. Отладка не остановится на точке останова
  2. Если я нажму стрелку в желобе исходного кода для запуска теста, он создаст новую конфигурацию, которая будет работать с источником потока и завершится ошибкой

У кого-нибудь есть Node.js и поток, хорошо работающий вместе в WebStorm?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете использовать флаги --sourcemaps и -pretty:

flow-remove-types --pretty --sourcemaps --out-dir out/ in/
  • Флаг -m или --sourcemaps добавляет файлы sourcemaps в вашу папку / out

  • Флаг -p или --pretty удаляет пустые места в файлах вашей папки / out

0 голосов
/ 28 июня 2018
  1. flow-remove-types не генерирует исходные карты, поэтому у отладчика нет абсолютно никакой возможности сопоставить сгенерированный файл в lib с исходными файлами в src. Вы должны добавить точки останова к сгенерированным файлам, расположенным в папке lib, если вы хотите отлаживать свои тесты

  2. ни в коем случае - конфигурация создается для файла, в котором вы нажали стрелку. Если вы хотите запускать отдельные тесты из желоба, нажмите стрелку в сгенерированном файле, а не в исходном

Вы можете использовать Babel пресет потока вместо flow-remove-types:

  • npm install --save-dev babel-cli babel-preset-env babel-preset-flow
  • создайте .babelrc файл в корневом каталоге вашего проекта:

{ "presets": ["flow"] }

И это все, что вам нужно сделать - без предварительной компиляции и т. Д., Запуск из-под желоба / отладка исходных файлов будет работать из коробки

enter image description here

...