1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
可以將entry配置與htmlwebpackplugins配置通過(guò)遍歷的方式抽離出來(lái).
可以參考webpack-mutipage-tempalte
這是入口配置部分// 多頁(yè)面配置const glob = require('glob')const HtmlWebpackPlugin = require('html-webpack-plugin')const { resolve } = require('./utils')const entries = glob.sync(resolve('src/page/**/*.js'))const entriesOpt = {}const pluginsOpt = []const faviconPath = resolve('src/image/favicon/favicon.png')
entries.forEach(item => { const chunkName = item.match(/src\/page\/(.+)\.js/)[1] const templatePath = item.replace(/.js$/, '.html') let fileName = templatePath.match(/src\/(page\/.+\.html$)/)[1]
entriesOpt[chunkName] = item
pluginsOpt.push( new HtmlWebpackPlugin({ favicon: faviconPath, filename: fileName, template: templatePath, chunks: ['vendor', 'manifest', 'common-styles', chunkName], minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true
}
})
)
})const config = { entry: entriesOpt, plugins: pluginsOpt
}module.exports = config
- 1 回答
- 0 關(guān)注
- 642 瀏覽
添加回答
舉報(bào)