Babel — транспиляция EC6 в EC5

В настоящее время я запускаю команду CLI для переноса моих node_modules:

babel --presets es2015 MYDIRECTORY --out-dir transpiled

Это работает нормально, но с проблемой. Когда я запускаю его, он транспилирует и копирует файлы и структуру папок. Он делает это только для файлов *.js. Другие файлы (их не нужно транспилировать) не копируются.

Итак, изначально у меня есть эта структура папок до транспиляции (см. Изображение): введите здесь описание изображения

Он не копирует другие файлы. Для одного модуля это нормально, я не могу вручную скопировать эти файлы. Но для более сложной структуры это очень сложно.

Как я могу сказать Babel, чтобы он выполнял транспилирование, как он это делает, но также копировал и другие файлы, отличные от *.js.

Спасибо


person Wexoni    schedule 03.03.2016    source источник
comment
Почему бы сначала не скопировать все файлы, а затем запустить babel, фактически перезаписав файлы js? Или скопировать все файлы, кроме файлов js?   -  person blablabla    schedule 03.03.2016
comment
Мне стыдно. Я должен был подумать об этой копии и перезаписать. Спасибо :)   -  person Wexoni    schedule 03.03.2016
comment
Без проблем. Используете ли вы package.json для добавления этих команд?   -  person blablabla    schedule 03.03.2016
comment
Боюсь, что нет :(... Я знаю, что это автоматизирует мою работу, просто я не знаю, как это сделать.   -  person Wexoni    schedule 03.03.2016


Ответы (1)


  • Создайте package.json, если у вас его еще нет.

    npm init // следуем инструкциям на экране

  • Добавьте ключ скриптов в package.json с массивом в качестве значения. В массив добавьте имя команды в качестве ключа и команды для запуска в качестве значения.

Пример package.json с нужными вам командами. Чтобы выполнить запуск: 'npm run compile'

Я добавил флаг исключения в команду xcopy. Если вы поместите расширение js в файл исключения, эти файлы будут исключены из копирования. Снимите флаг исключения, чтобы скопировать все.

{
  "name": "someProject",
  "version": "0.0.1",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "copysrc": "XCOPY C:\\path\\to\\project\\src\\*.* C:\\path\\to\\project\\dist /S /I /Y /EXCLUDE:C:\\path\\to\\project\\xcopyexclude.txt",
    "babel": "babel --presets es2015 MYDIRECTORY --out-dir transpiled",
    "compile": "npm run copysrc && npm run babel"
  },
  "author": "someAuthor",
  "license": "ISC"
}

Ссылки:

person blablabla    schedule 03.03.2016