// Generated using webpack-cli https://github.com/webpack/webpack-cli const path = require('path'); const { VueLoaderPlugin } = require("vue-loader") const HtmlWebpackPlugin = require('html-webpack-plugin'); const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); const isProduction = process.env.NODE_ENV == 'production'; const config = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), }, devServer: { open: true, host: 'localhost', }, plugins: [ new VueLoaderPlugin(), new HtmlWebpackPlugin({ template: 'index.html', }), // Add your plugins here // Learn more about plugins from https://webpack.js.org/configuration/plugins/ ], module: { rules: [ { test: /\.vue$/, enforce: 'pre', loader: 'vue-click-to-component/loader', }, { test: /\.vue$/, loader: 'vue-loader', }, { test: /\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/i, type: 'asset', }, // Add your rules for custom modules here // Learn more about loaders from https://webpack.js.org/loaders/ ], }, }; module.exports = () => { if (isProduction) { config.mode = 'production'; config.plugins.push(new WorkboxWebpackPlugin.GenerateSW()); } else { config.mode = 'development'; } return config; };