Подтвердить что ты не робот

Как получить Babel 6 для компиляции в ES5 javascript?

Я установил последнюю версию babel. В настоящее время 6.4.0. Я создаю файл с именем myclass.js, который имеет следующий код.

class MyClass {
    constructor(name) {
        console.log("I am a MyClass object .. ", name);
    }
}

var myclass = new MyClass('1234');

после создания моего класса я делаю следующее в командной строке.

$> babel ./src/myclass.js --out-file ./out/app.js

Я бы ожидал, что мой файл app.js будет иметь javascript, скомпилированный es5, но он имеет тот же самый точный код в нем, что и файл myclass.js. Что мне не хватает, что может быть причиной этого?

4b9b3361

Ответ 1

В документации для Babel 6:

Пакет babel больше нет. Раньше это был весь компилятор и все преобразования плюс набор инструментов CLI, но это приводило к излишне большим загрузкам и было немного запутанным. Теперь мы разделили его на два отдельных пакета: babel-cli и babel-core.

и

Babel 6 отправляется без каких-либо преобразований по умолчанию, поэтому, когда вы запустите Babel в файле, он просто распечатает его обратно, не изменяя ничего.

______

1. Установите babel-cli

Сначала, как и в документах, вам нужно установить babel-cli:

$ npm install babel-cli

______

2. Определите пресеты в .babelrc

Во-вторых, вам нужно использовать .babelrc (docs) локально для ваших файлов и явно определить пресеты, которые вы хотите Babel использовать. Например, для функций ES6 используйте es2015 preset.

Установите его:

npm install babel-preset-es2015

И затем объявите его в своем .babelrc:

{
  "presets": ["es2015"]
}

______

3. Запустите babel

Теперь выполнение команды babel, как в вашем примере, должно работать:

$> babel ./src/myclass.js --out-file ./out/app.js

В качестве альтернативы используйте такой комплект, как webpack, rollup или browserify с соответствующим плагином babel.