RGameShow
@RGameShow
В поисках ответов на глупые вопросы

Как функцию сделать глобальной или почему вызванная функция в теле HTML is not defined at (index):843?

Сайт на WordPress. На главной странице в коде вызываю функцию:
60523fab70372535436736.png

Эта функция добавлена в файл main.js:
function myFunc(str){
    alert(str);
}


Далее прогоняю через WebPack(файл webpack.config.js ниже). Все норм собирается, файл билда подрублен в header. Открывай файл и вижу там эту функцию, но в теле HTML вызывая эту функцию я получаю ошибку...
Что я делаю не так?

const path = require('path')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
const TerserWebpackPlugin = require('terser-webpack-plugin')

module.exports = {
    mode: 'production',// development production
    //Входной файл
    entry: {
        topScripts: './webpackTopScripts.js',
        bottomScripts: './webpackBottomScripts.js',
    },
    //Где лежат исходники
    context: path.resolve(__dirname, "assets"),
    //Куда складываем
    output: {
        filename: '[name].min.js',
        path: path.resolve(__dirname, "assets/min/js")
    },
    plugins:[
        new MiniCssExtractPlugin({
            filename: '../css/style.min.css',
        }),
        new CleanWebpackPlugin()
    ],
    module: {
        rules: [
            {
                test:/\.(s*)css$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    'css-loader',
                    'sass-loader',
                ]
            },
            {
                test: /\.(png|jpg|jpeg|svg|gif)$/,
                use: ['url-loader']
            },
            {
                test: /\.(ttf|woff|woff2|eot)/,
                use: ['url-loader'],
            },
            {
                test: require.resolve("jquery"),
                loader: 'expose-loader',
                options: {
                    exposes: [
                        {
                            globalName: '$',
                            override: true
                        },
                        {
                            globalName: 'jQuery',
                            override: true
                        },
                    ]
                }
            },
        ]
    },
    optimization: {
        minimize: true,
        minimizer: [
            new CssMinimizerPlugin(),
            new TerserWebpackPlugin({
                terserOptions: {
                    format: {
                        comments: false,
                    },
                    keep_classnames: true,
                    keep_fnames: true,
                },
                extractComments: false,
            })
        ],
    },
}
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы