123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- const {resolve} = require('path')
- const HtmlWebpackPlugin = require('html-webpack-plugin')
- /**
- *
- */
- module.exports = {
- entry: './src/index.js',
- output: {
- filename:'[name].js',
- path:resolve(__dirname,'build')
- },
- module:{
- rules:[
- {
- test:/\.css$/,
- use:['style-loader','css-loader']
- }
- ]
- },
- plugins: [
- new HtmlWebpackPlugin()
- ],
- mode: 'production',
- /**
- * 解析模块规则
- */
- resolve:{
- //配置解析路径别名 缺点:编辑器无提示
- alias:{
- $css: resolve(__dirname,'src/css')
- },
- //配置省略文件路径的后缀名
- extensions:[
- '.js','.json','.css'
- ],
- //告诉webpack解析模块位置
- modules:[
- resolve(__dirname,'../node_modules'),'node_modules'
- ]
- },
- optimization:{
- splitChunks:{
- chunks:'all',
- minSize: 30 * 1024, //分割的chunk最小位30kb
- maxSize: 0,//最大沒有限制
- minChunks: 1, //要提取的chunk最少被引用一次
- maxAsyncRequests: 5, // 按需加載時并行加載文件的最大數量
- maxInitialRequests: 3, // 入口js文件最大并行請求數量
- autumaticNameDelimiter: '~', // 名稱連接符
- name: true, // 可以使用命名規則
- cacheGroups:{ //分割chunk的組
- vendors:{
- test:/[\\/]node_modules[\\/]/,
- priority: -10
- },
- default:{
- minChunks: 2,
- priority: -20,
- reuseExistingChunk:true
- }
- }
- }
- }
- }
|