Прежде всего, давайте проясним, что WebStorm будет действовать как оболочка для интерпретатора JS (любого выбранного вами переводчика) и направлять любой вывод обратно к вам.
Я собираюсь придерживаться узла 12.xx для этого примера на основании получаемой вами ошибки импорта ESM, но вы также можете запустить Chrome в режиме без головы , фантом js или что-то еще на самом деле, хотя это будет некоторая работа для конвейерного вывода.
Во-вторых, вам понадобится установленный ответ, глобально или доступный по схеме разрешения модуля узла 1008 * ( node_modules как одноуровневая или любая родительская папка).
Наконец, вам нужно выбрать стандартный модуль. Есть официальный , подходящий для браузера, где разрешение модуля (реакция импорта) отличается, а также собственный узел, который имеет много чтения вокруг него здесь . Поскольку мы используем узел, мы не можем выбрать первый, но можем только эмулировать его с помощью esm или babel .
Линия серого цвета со всеми это, но мы все еще находимся на ванильной JS территории, хорошо.
Теперь нам нужно сказать интерпретатору, что мы хотим находиться в области видимости модуля со всем нашим кодом, а не отправлять весь экспорт в глобальный. В браузере это <script type="module">
, но в узле мы либо эмулируем все это с помощью esm или babel, либо делаем это:
"C:\Program Files\nodejs\node.exe" --experimental-modules C:\Users\me\.WebStorm2019.3\config\scratches\scratch_4.mjs
Обратите внимание, что расширение файла обязательно должно быть m js , Если это не так, это SyntaxError, потому что мы не можем использовать оператор импорта вне модуля.
Если вы выберете esm
, по моему мнению, это немного лучше, потому что он также допускает расширение .js
:
"C:\Program Files\nodejs\node.exe" -r esm C:\Users\me\.WebStorm2019.3\config\scratches\scratch_4.js
Со всеми домашними заданиями, сделанными сейчас, приведена сводная информация о конфигурации для WebStorm