'use strict'; /** * Default dev server configuration. */ const webpack = require('webpack'); const WebpackBaseConfig = require('./Base'); class WebpackDevConfig extends WebpackBaseConfig { constructor() { super(); this.config = { devtool: 'cheap-module-source-map', entry: [ 'webpack-dev-server/client?http://0.0.0.0:5000/', 'webpack/hot/only-dev-server', 'react-hot-loader/patch', './client.js' ], plugins: [ new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin(), new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery", "window.jQuery": "jquery" }), new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV), }, }), ] }; this.config.module.rules = this.config.module.rules.concat([ { test: /^.((?!cssmodule).)*\.(sass|scss)$/, loaders: [ { loader: 'style-loader' }, { loader: 'css-loader', options: { sourceMap: true } }, { loader: 'sass-loader', options: { sourceMap: true } } ] }, { test: /^.((?!cssmodule).)*\.less$/, use: [ { loader: "style-loader" }, { loader: "css-loader", options: { sourceMap: true } }, { loader: "less-loader", options: { sourceMap: true } } ] } ]) // console.log(this.config.module.rules); } } module.exports = WebpackDevConfig;