Тестирование babel-preset-env с помощью package.json
Нуб вопрос тут. Пытаясь убедить себя, что babel-preset-env
работает.
Я устанавливаю babel-core
а также babel-preset-env
:
yarn add --dev babel-core
yarn add --dev babel-preset-env
мой package.json
имеет:
"babel": {
"presets": [
[
"env",
{
"targets": {
"browsers": [
"IE >= 8"
]
}
}
]
]
},
Я создаю JS-скрипт для тестирования:
fs.readFile('my.js', 'utf8', (err, data) => {
if (err) throw err;
let babel = require("babel-core");
let result = babel.transform(data).code;
});
Я тестирую с помощью стрелок в my.js
:
new Promise((resolve, reject) => {
console.log('whatever');
});
Неважно, как я настраиваю targets.browsers
функция стрелки не конвертируется.
1 ответ
Протестировал это с babel-cli
, Работает.
Понятно, что babel-core
(Javascript API Babel) ничего не берёт из package.json
,
Здесь также подана проблема: https://github.com/babel/babel/issues/7647
Документы JS API, вероятно, должны быть обновлены.
Для того, чтобы использовать babel-preset-env
в JS API:
const { execFile } = require('child_process');
const ug = require('uglify-es');
const { execFile } = require('child_process');
execFile('npx', ['babel', 'my.js'], (err, data, stderr) => {
if (err) throw err; // U get the idea
let result = ug.minify(data, { mangle: { toplevel: true } }).code;
});