Неожиданные пустые строки при переносе JavaScript с Babel 7.2.2 и preset-env - PullRequest
0 голосов
/ 11 января 2019

Я получаю различные неожиданные пустые строки при переносе фрагмента JavaScript с Babel. Вот исходный код:

/**
 * Header.
 */
function header() {
  const header = 'header';
  console.log(header);
};

/**
 * Navigation.
 */
function navigation() {
  const navigation = 'navigation';
  console.log(navigation);
};

И вот что я получаю после того, как перенесу это:

"use-strict";

/**
 * Header.
 */
function header() {
    var header = 'header';
    console.log(header);
}

;
/**
 * Navigation.
 */

function navigation() {
    var navigation = 'navigation';
    console.log(navigation);
}

;

Обратите внимание на пустые строки перед точкой с запятой и после второго комментария функции.

Зависимость:

"devDependencies": {
    "@babel/cli": "^7.2.3",
    "@babel/core": "^7.2.2",
    "@babel/preset-env": "^7.2.3"
}

.babelrc

{
    "presets": ["@babel/preset-env"]
}

Итак, вопрос: как получить чистый вывод без этих пустых строк?

Интересно, что если вы поместите тот же фрагмент в https://babeljs.io/repl, он не выведет пустых строк.

Обновление

Как предположил Феликс Клинг, после удаления точек с запятой я получаю следующее:

"use strict";

/**
 * Header.
 */
function header() {
  var header = 'header';
  console.log(header);
}
/**
 * Navigation.
 */


function navigation() {
  var navigation = 'navigation';
  console.log(navigation);
}
...