关于本项目webpack配置说明
module.exports.entry
let entry = {}; dirJSON.forEach(page => { entry[page.url] = path.resolve(__dirname, `./src/views/${page.url}/index.js`); });
module.exports.output
module.exports.plugins
let plugins = []; dirJSON.forEach(page => { plugins.push( new HtmlPlugin({ favicon: path.resolve(__dirname, `./src/assets/img/favicon.ico`), filename: path.resolve(__dirname, `./dist/${page.url}.html`), template: path.resolve(__dirname, `./src/views/${page.url}/index.html`), chunks: chunks, chunksSortMode: 'manual', minify: isProd ? { collapseWhitespace: true, removeComments: true } : false, xhtml: true }) ); });new MiniCssExtractPlugin({ filename: 'css/' + (isProd ? '[name].[contenthash:8].min.css' : '[name].css'), chunkFilename: 'css/' + (isProd ? '[name].chunk.[contenthash:8].min.css' : '[name].chunk.css'), })
module.exports.module.rules
module.exports.optimization.splitChunks
关于文件使用hash命名
关于文件的压缩
Last updated