UNPKG

@cisdi/pangu

Version:

develop tool for ui-engine project

62 lines (54 loc) 1.54 kB
const { merge } = require('webpack-merge') const baseConfig = require('./base') const project = require('./project') const HtmlWebpackPlugin = require('html-webpack-plugin') const { tplPath } = require('../../utils/paths') const app = require('../../utils/app') const { isReact, isVue2 } = require('../../utils/framework') const PRODUCT = process.env.NODE_ENV === 'production' const frameworkConfig = isReact ? require('./react')(baseConfig) : isVue2 ? require('./vue2')(baseConfig) : require('./vue')(baseConfig) const config = typeof project === 'function' ? project(frameworkConfig) : merge(frameworkConfig, project) if (config.entry) { const entry = config.entry if (typeof entry === 'object' && Object.keys(entry).length > 1) { const entries = Object.keys(entry) entries.forEach((name) => { config.plugins.push( new HtmlWebpackPlugin({ filename: `${name}.html`, template: tplPath, title: app.appName || '', chunks: [name], hash: false, inject: true, minify: { collapseWhitespace: PRODUCT, minifyJS: PRODUCT, }, }) ) }) } else { config.plugins.push( new HtmlWebpackPlugin({ filename: 'index.html', template: tplPath, title: app.appName || '', hash: false, inject: true, minify: { collapseWhitespace: PRODUCT, minifyJS: PRODUCT, }, }) ) } } module.exports = config