Я собираюсь реорганизовать интерфейсную часть веб-приложения и решил представить webpack и babel, чтобы разрешить javascript модули без потери совместимости с браузером.
По какой-то причине Webpack не передает функцию стрелки, которую я ввел в тестовый файл js, который я выбрал в качестве записи в конфигурации. Он просто выбрасывает функцию.
Если я просто использую (локальный проект) babel над cli и нацеливаюсь на тот же «test. js», то веб-пакет работает, он работает просто отлично.
Мой webpack.config.prod. js:
const path = require('path');
module.exports = {
mode: "production",
entry: {
test: "./js/test.js"
},
output: {
filename: "[name].js",
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
},
resolve: {
modules: ['node_modules', 'js'],
}
}
babel.config. json Я добавил для хорошей меры:
{
"presets": ["@babel/preset-env"],
"plugins": []
}
Мой тест. js:
import jQuery from "jquery";
window.$ = window.jQuery = jQuery;
() => {
console.log("HEYHO 123!");
console.log("jquery is array?", jQuery.isArray([1,2,3]));
}
console.log("HEYA 456!")
console.log("jquery is array?", $.isArray([1,2,3]));
Я могу найти "HEYA 456" в (минимизированном) выходной файл, но "HEYHO 123!" нигде не найти.
Что здесь происходит? Я не могу найти ошибку в своей конфигурации, потратив часы на изучение и проверку документации.