【问题标题】:Testing babel-preset-env using package.json使用 package.json 测试 babel-preset-env
【发布时间】:2018-09-10 15:58:13
【问题描述】:

这里是菜鸟问题。试图向自己保证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,箭头函数都不会被转换。

【问题讨论】:

    标签: babel-preset-env


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 2021-03-03
      • 2018-03-18
      • 2019-06-07
      相关资源
      最近更新 更多