使用package.json测试babel-preset-env

时间:2018-04-01 02:29:18

标签: babel-preset-env

Noob在这里提问。试图向自己保证babel-preset-env有效。

我安装了babel-corebabel-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 个答案:

答案 0 :(得分:0)

使用babel-cli进行测试。的工作原理。

很清楚babel-core(Babel的Javascript API)没有从package.json中获取任何内容。

此处也提出了一个问题:https://github.com/babel/babel/issues/7647

JS API docs可能需要更新。

为了在JS API中使用babel-preset-env

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;
});