>source

웹팩을 처음 사용하고 내부에 비동기 기능이 있는 ConfirmModal.js 파일을 가져오려고 합니다. 하지만 브라우저에서 컴파일하고 테스트한 후 Uncaught ReferenceError: ui is not defined오류가 발생합니다. 다른 모든 스크립트와 스타일이 포함되어 있으며 잘 작동합니다.

내가 뭘 잘못하고 있는지 조언해줄 수 있는 사람이 있습니까? 나는 모든 것을 시도했지만 성공하지 못했습니다. 어떤 이유로 ConfirmModal 파일이 무시된 것 같습니다.

패키지 버전:

"babel-loader": "^8.0.6",
"babel-polyfill": "^6.26.0",
"@babel/core": "^7.8.3",
"webpack": "^5.25.0",
"webpack-cli": "^4.5.0",
"core-js": "^2.6.12"

Modal.js 확인

const ui= {
    confirm: async (message)=> createConfirm(message)
}

내 app.js 파일:

window.$= require('jquery');
import './moneyModal';
import './eventModal';
import './taskModal';
import 'jquery-cropper'
import './confirmModal';
ui.confirm("Asdf");

웹팩.config.js

const path= require('path');
const MiniCssExtractPlugin= require('mini-css-extract-plugin');
const webpack= require('webpack');
const miniCssExtract= new MiniCssExtractPlugin({
    filename: 'main.css'
});
module.exports= {
    mode: 'development',
    entry: ['./www/js/app.js'],
    output: {
        path: path.resolve(__dirname, 'www/dist'),
        filename: 'main.js',
        publicPath: './www/dist'
    },
    module: {
        rules: [{
            test: /\.js$/,
            exclude: /(node_modules)/,
            use: [{
                loader: 'babel-loader',
                options: {
                    presets: [
                        [
                            '@babel/preset-env',
                            {
                                "useBuiltIns": "usage",
                                "corejs": 2
                            }
                        ]
                    ],
                }
            }]
        },
        {
            test: /\.scss$/,
            //use: ['css-loader', 'sass-loader']
            use: [
                MiniCssExtractPlugin.loader,
                {
                    loader: 'css-loader?url=false'
                },
                {
                    loader: 'postcss-loader',
                    options: {
                        postcssOptions: {
                            plugins: [
                                [
                                    'autoprefixer',
                                    {
                                        //Options
                                    },
                                ],
                            ],
                        },
                    },
                },
                {
                    loader: 'sass-loader'
                }
            ]
        },
        {
            test: /\.html/,
            use: 'raw-loader'
        },
            {
                test: /\.css$/,
                use: [
                    "style-loader", //creates style nodes from JS strings
                    "css-loader", //translates CSS into CommonJS
                    "sass-loader" //compiles Sass to CSS, using Node Sass by default
                ]
            },
        ]
    },
    plugins: [
        miniCssExtract,
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery',
            Popper: ['popper.js', 'default'],
            Nette: 'nette-forms',
            'window.Nette': 'nette-forms'
        })
    ]
}

ConfirmModal.js에 내보내기가 표시되지 않습니다.

Thomas Sablik2021-09-21 06:45:10

확인. 당신은 권리가 있습니다. 나는 그것에 대해 잊었다. 감사합니다

Martin Hrabal2021-09-21 06:45:10
  • 이전 IIS 규칙 예외 문제
  • 다음 flutter : 플러터에 이미지를 추가하려고 할 때 오류가 발생했습니다.