Почему моя конфигурация Webpack не использует загрузчик babel (правильно)? - PullRequest
0 голосов
/ 13 февраля 2020

Я собираюсь реорганизовать интерфейсную часть веб-приложения и решил представить 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!" нигде не найти.

Что здесь происходит? Я не могу найти ошибку в своей конфигурации, потратив часы на изучение и проверку документации.

...