legoflow-engine
Version:
<p> <a href="https://www.npmjs.com/package/legoflow"> <img alt="Version" src="http://img.shields.io/npm/v/legoflow-engine" /> </a> </p>
42 lines (29 loc) • 711 B
JavaScript
/**
* webpack 配置工厂
*/
const Config = require('webpack-chain')
const { getMode, getSourceMap } = require('../common/util')
module.exports = () => {
const mode = getMode()
const sourceMap = getSourceMap()
const config = new Config()
// target
config.target('web')
// mode
config.mode(mode)
// devtool
sourceMap && config.devtool(sourceMap)
// entry
require('./entry')({ config })
// output
require('./output')({ config })
// rule
require('./rule')({ config })
// plugin
require('./plugin')({ config })
// resolve
require('./resolve')({ config })
// build optimization
mode === 'production' && require('./optimization')({ config })
return config
}