const path = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const { VueLoaderPlugin } = require('vue-loader') module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'app.js', clean: true }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader' }, { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ }, { test: /\.css$/, use: ['vue-style-loader', 'css-loader'] }, { test: /\.(png|jpe?g|gif|svg|woff2?|eot|ttf|otf)$/, type: 'asset/resource' } ] }, plugins: [ new VueLoaderPlugin(), new HtmlWebpackPlugin({ template: './public/index.html', title: 'Admin Framework Demo' }) ], resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': path.resolve(__dirname, 'src'), 'vue$': 'vue/dist/vue.esm.js' } }, devServer: { hot: true, open: true, port: 8080, historyApiFallback: true, client: { overlay: false // 禁用错误浮层 } } }