UNPKG

igroot-builder

Version:

白山——zeus系统前端打包工具

55 lines (49 loc) 1.64 kB
const path = require('path') const webpack = require('webpack') const merge = require('webpack-merge') const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') const HtmlWebpackPlugin = require('html-webpack-plugin') const baseConfig = require('./webpack.base') const { entryDirs } = require('../utils') const { options: { define, include, extend } } = require('../bsy') const extendConfig = extend ? require(path.resolve(extend)) : undefined module.exports = merge(baseConfig, { mode: 'development', devtool: 'eval-cheap-module-source-map', entry: entryDirs .filter(dir => !include || include.includes(dir)) .reduce((result, dir) => { result[dir] = [ require.resolve('react-dev-utils/webpackHotDevClient'), path.join(__dirname, '../runtime.js'), path.resolve(`src/pages/${dir}/index.jsx`) ] return result }, {}), output: { filename: '[name].js', path: path.resolve('dist'), pathinfo: false }, plugins: [ new webpack.DefinePlugin({ 'process.env': '"development"', APP_CONFIG: JSON.stringify(define) }), new FriendlyErrorsPlugin(), new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), new webpack.HotModuleReplacementPlugin(), new webpack.ProvidePlugin({ process: 'process/browser', }), ...entryDirs.map(dir => { // https://github.com/ampedandwired/html-webpack-plugin return new HtmlWebpackPlugin({ filename: `${dir}.html`, vendors: '', template: path.resolve(`src/pages/${dir}/index.html`), chunks: [dir], }) }) ] }, extendConfig)