react-starter-kit
/
webpack.config.js
47 строк · 1.1 Кб
1const path = require('path');2const {merge} = require('webpack-merge');3const asset = require('./config/asset');4const base = require('./config/base');5const html = require('./config/html');6const optimization = require('./config/optimization');7const script = require('./config/script');8const style = require('./config/style');9const svg = require('./config/svg');10
11/**
12* Получить конфигурацию webpack.
13* @param env Окружение.
14* @param argv Аргументы
15* @returns {*} Конфигурация webpack.
16*/
17function webpackConfig(env, argv) {18const {mode} = argv;19const root = __dirname;20const options = {21dist: path.join(root, 'www'),22mode,23pages: ['index'],24public: path.join(root, 'public'),25root,26src: 'src',27};28const clean = 'production' === mode ? true : {keep: /\.svg$/u};29const result = {30output: {31clean,32},33};34
35return merge(36asset(options),37base(options),38html(options),39optimization(options),40script(options),41style(options),42svg(options),43result
44);45}
46
47module.exports = webpackConfig;48