Скрипт Transpile Node для тестирования - PullRequest
0 голосов
/ 29 марта 2019

У меня есть несколько модулей es6, которые я хотел бы проверить в модуле.Переименование всех файлов в .mjs не работает.

Для простоты, скажем, у меня есть файл, подобный этому mymodule.js, который имеет следующее содержимое:

export default {
  saySomething: function () { console.log("something"); }
}

И я хочунаписать простой скрипт, чтобы протестировать его вот так test.js с таким содержанием:

import { saySomething } from './mymodule';
saySomething();

Я действительно не собираюсь изучать Вавилон на этом этапе.Мне просто нужна простая, понятная инструкция, например:

  • Создайте .babelrc, содержащий <blahblah>
  • , установите такой-то и такой-то
  • , затем запустите npx babel test.js (или что-то еще)

Я искал вокруг и продолжал находить кучу длинных уроков по загрузке модулей babel и тому, что нет.

Я просто ищу подходящий рецепт--заклинание - не объяснение.Конечно, это доступно где-то;Я просто не могу найти это.любая помощь?

Обновление

В приведенном ниже ответе говорится, что нет необходимости в транспиляции, поскольку узел автоматически понимает ES6.Я хочу, чтобы я просто неправильно понял, но когда я запускаю этот точный пример, используя Node v11.12.0, я получаю следующую ошибку:

$ node test.js

/home/usr/test/test.js:1
import { saySomething } from './mymodule';
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:743:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
    at Module.load (internal/modules/cjs/loader.js:666:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
    at Function.Module._load (internal/modules/cjs/loader.js:598:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
    at internal/main/run_main_module.js:21:11

1 Ответ

0 голосов
/ 29 марта 2019

Я думаю, вы здесь что-то неправильно поняли. Код ES6, который вы хотите выполнить в файле node.js, вообще не нуждается в конвейерной транспортировке. Узел изначально понимает ES6. Вам нужно будет только перенести его, если вы хотите запустить его в браузере.

...