Файл, скомпилированный с использованием babel-cli, выдает ошибку

Я компилирую свою клиентскую часть, используя webpack с предустановками env, stage-0 и реакции. Это работало просто отлично, но теперь я начал работать над рендерингом на стороне сервера, поэтому мне пришлось использовать некоторый синтаксис es6 и jsx в моем файле сервера. Я компилирую его, используя те же пресеты, что и в веб-пакете, но после запуска скомпилированного файла он выдает ошибку в одном из файлов клиента, которые импортируются в файл сервера. Вот мой packege.json, чтобы вы могли видеть мою команду: GitHub (ищите команду "build:s")

Это ошибка, которую я получаю после запуска файла сервера: командная строка

Я неправильно использую babel-cli?

РЕДАКТИРОВАТЬ: Я в настоящий рассол здесь. Я попробовал другой подход. Я использовал babel-cli для компиляции целого клиента в указанную папку, а затем импортировал файлы сервера insode из этой папки. Но это просто дает мне кучу ошибок типа "не могу найти filename.scss"..... Кто-нибудь знает, как решить эту проблему?

1 ответ

Вавилон не обрабатывает зависимости для вас.

babel ./server/app.js --out-file ./server/app.compiled.js --presets=env,stage-0,react

специально только компилирует то что в app.js, поскольку app.js импортирует другие файлы, эти файлы не были скомпилированы.

Как правило, вы хотите одну папку, в которой есть весь ваш исходный источник, поэтому я бы сделал

src/
  server/
  client/

Как правило, вы хотели бы сделать больше, как

babel ./src --out-dir ./lib --presets=env,stage-0,react

а затем выполнить node ./lib/server/app.js

Другие вопросы по тегам