Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const path = require('path');
- const MiniCssExtractPlugin = require("mini-css-extract-plugin")
- const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
- const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin')
- // module export
- module.exports = (env) => {
- return {
- entry: './src/app.js',
- output: {
- path: path.join(__dirname, 'public', 'dist'),
- filename: 'bundle.js'
- },
- optimization: {
- minimizer: [
- new UglifyJsPlugin({
- cache: true,
- parallel: true,
- sourceMap: true
- }),
- new OptimizeCSSAssetsPlugin({})
- ]
- },
- module: {
- rules: [{
- loader: 'babel-loader',
- test: /\.js$/,
- exclude: /node_modules/
- }, {
- test: /\.s?css$/,
- use: [
- MiniCssExtractPlugin.loader,
- {
- loader: 'css-loader'
- },
- {
- loader: 'sass-loader'
- }
- ]
- }]
- },
- plugins: [
- new MiniCssExtractPlugin({
- filename: "[name].css",
- chunkFilename: "[id].css"
- })
- ],
- devtool: env ? 'source-map' : 'cheap-moduule-eval-source-map',
- devServer: {
- contentBase: path.join(__dirname, 'public'),
- historyApiFallback: true,
- publicPath: '/dist/'
- },
- mode: 'development'
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement