const { VueLoaderPlugin } = require("vue-loader"); const path = require('path'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const { PROJECT_NAME, BASE_DIR, SERVICE_STATUS } = require('./Global'); module.exports = { name: PROJECT_NAME, mode: SERVICE_STATUS, devtool: 'eval', entry: { app: `${BASE_DIR}/client/views/index.js`, }, resolve: { alias: { '@': path.resolve(__dirname, 'client/'), }, extensions: ['.js', '.vue', '.json'], }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', }, { test: /\.(js|jsx)$/, loader: 'babel-loader', }, { test: /\.css$/, use: ['vue-style-loader', 'css-loader'] }, { test: /\.scss$/, use: [ MiniCssExtractPlugin.loader, "css-loader", { loader: "sass-loader", options: { sassOptions: { includePaths: [path.resolve(__dirname, "client/resources/scss")], }, }, }, ], }, { test: /\.(jpe?g|png|gif|svg|ttf|eot|woff|woff2)$/i, type: 'asset/resource', }, ], }, plugins: [ new VueLoaderPlugin(), new MiniCssExtractPlugin({ filename: "assets/css/[name].css", }), ], output: { path: path.resolve(BASE_DIR, "client/build"), filename: "js/[name].js" // }, };