#webpack #babeljs #arrow-functions #babel-loader
#webpack #babeljs #стрелка-функции #babel-загрузчик
Вопрос:
Я пытаюсь перенести невероятно простой файл, используя babel и webpack:
window.foo = function(bar) {
return {...bar};
}
однако вывод (довольно большой),
(()=>{function e(e,r ... eturn t}({},t)}})();
(где я использую ...
, чтобы просто сократить вывод для простоты). Мой webpack.config.js
выглядит так:
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'out/'),
filename: 'index.js'
},
module: {
rules: [
{
test: /.m?js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: [["@babel/preset-env", {targets:{"ie": "11"}}]],
plugins: [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-arrow-functions"
]
}
}
}
]
}
};
и мой .babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"ie": "11"
},
"useBuiltIns": "entry"
}
]
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/transform-arrow-functions",
],
"env": {
"development": {},
"test": {},
"production": {}
}
}
учитывая, что он создается для IE 11, он не может выводить функцию стрелки — почему это так? Как я могу настроить конфигурацию так, чтобы она не выводила функцию стрелки (чтобы она работала в IE 11)?