新手问题在这里。试着让我自己相信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,箭头函数都不会被转换。
发布于 2018-04-01 11:17:13
用babel-cli测试了这一点。很管用。
很明显,babel-core (Babel的Javascript API )没有从package.json获取任何东西。
在这里也提交了一个问题:https://github.com/babel/babel/issues/7647
JS API docs可能需要更新。
为了在JS中使用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;
});https://stackoverflow.com/questions/49594252
复制相似问题