const path = require('path') const { VueLoaderPlugin } = require('vue-loader') const HtmlWebpackPlugin = require('html-webpack-plugin') const { CleanWebpackPlugin } = require('clean-webpack-plugin')
module.exports = { mode: 'development', entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: '[name].[contenthash].js', publicPath: '/', }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', }, { test: /\.js$/, exclude: /node_modules/, use: 'babel-loader', }, { test: /\.css$/, use: ['style-loader', 'css-loader'], }, { test: /\.(png|jpe?g|gif|svg|ico)$/i, type: 'asset/resource', generator: { filename: 'images/[name][ext]', }, }, ], }, plugins: [ new CleanWebpackPlugin(), new VueLoaderPlugin(), new HtmlWebpackPlugin({ template: './public/index.html', favicon: './public/favicon.ico', }), ], devServer: { static: { directory: path.join(__dirname, 'public'), }, historyApiFallback: true, hot: true, compress: true, port: 8080, open: true, }, resolve: { alias: { '@': path.resolve(__dirname, 'src'), }, extensions: ['.js', '.vue', '.json'], }, }
|