react-starter-kit
26 строк · 886.0 Байт
1const MiniCssExtractPlugin = require('mini-css-extract-plugin');2const getIsProd = require('./get-is-prod');3
4const getStyleLoader = ({mode}) => (getIsProd(mode) ? MiniCssExtractPlugin.loader : 'style-loader');5
6const getCssLoader = () => ({loader: 'css-loader', options: {esModule: false}});7
8const getLessLoader = ({root}) => ({loader: 'less-loader', options: {lessOptions: {math: 'always', paths: [root]}}});9
10const getPlugins = ({mode}) => (getIsProd(mode) ? [new MiniCssExtractPlugin({filename: '[name].min.css'})] : []);11
12module.exports = (config) => ({13module: {14rules: [15{16test: /\.css$/u,17use: [getStyleLoader(config), getCssLoader(), 'postcss-loader'],18},19{20test: /\.less$/u,21use: [getStyleLoader(config), getCssLoader(), 'postcss-loader', getLessLoader(config)],22},23],24},25plugins: getPlugins(config),26});27