'use strict' const webpack = require('webpack'); const path = require('path'); const { VueLoaderPlugin } = require('vue-loader'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { mode: 'development', entry: [ './web/src/main.js' ], output: { path: path.resolve(__dirname, './web/dist'), filename: 'bundle.js' }, resolve: { alias: { '@': path.resolve(__dirname, './web/src'), vue$: 'vue/dist/vue.runtime.esm.js' }, }, module: { rules: [ { test: /\.vue$/, use: 'vue-loader' }, { test: /\.scss$/, use: [ 'vue-style-loader', { loader: 'css-loader', options: { esModule: false } }, 'sass-loader' ] }, { test: /\.js$/, loader: 'babel-loader', exclude: file => ( /node_modules/.test(file) && !/\.vue\.js/.test(file) ) }, { test: /\.(png)?$/, use: [{ loader: 'file-loader' }] } ] }, plugins: [ new VueLoaderPlugin(), new HtmlWebpackPlugin({ title: 'RGBWifi', template: 'web/public/index.html' }) ] }