zoukankan      html  css  js  c++  java
  • webpack(4) 总结

      代码分割:         可以将node_modules中代码单独打包一个chunk最终输出     自动分析多入口chunk中,有没有公共的文件 如果有会打包成单独一个chunk

               optimization: {
                  splitChunks: {
                      chunks: 'all'
                        }
                      },
      懒加载和预加载:        webpackPrefetch预加载    正常加载可以认为是并行加载(统一时间再多个文件)          预加载       prefetch等其他资源加载完毕   浏览器空闲了   再去加载其他资源
                import(/*webpackChunkName:'test',webpackPrefetch:true*/'./test').then((res)=>{ console.log(res) })
       dll             使用dll技术,对某些第三方库进行单独打包    当运行webpack时   默认查找 webpack.config.js 配置文件 
                  
          entry:入口起点         
                  1.string -->'./src/index.js'     单入口   打包形成一个chunk,输出一个bundle文件    此时的chunk名称默认是main
                  2.array -->['./src/index.js','./src/add,js]   多入口  所有入口文件最终只会形成一个chunk  输出出去只有一个bundle文件
                  3.object   多入口     有几个入口文件就形成几个chunk  输出几个bundle文件      此时chunk的名称是  key
                        特殊用法:
                              所有入口文件最终只会形成一个chunk,输出出去只有一个bundle文件
                               index: ['./src/index.js', './src/count.js'],
                              形成一个chunk,输出一个bundle文件
                               add:'./src/add.js'
         output:路径配置
                  filename:'[name].js'       文件名称(指定名称+目录)
                  path:resolve(__dirname,'build')   //输出的文件目录(将来所有资源输出的公共目录)
                  publicPath:'./'        所有输出资源的公共路径 ——-》路径的前面
                   chunkFilename:'[name]_chunk.js'     非入口cchunk名称   library:'[name];  整个库向外暴露的变量名
                  libraryTarget:window    变量名添加到哪个属性上
        module    插件配置    
                  
          resolve     解析模块的规则
                  
          
         devServer     运行配置
                   
     
          optimization       
                  将当前模块的记录其他模块的hash单独打包为一个文件 runtime
                  解决    修改a文件导致b文件的contenthash变化
                  runtimeChunk:{
                     name:entrypoint=>`runtime-${entrypoint.name}`
                        },
                  minimizer:[
                    //配置生产环境的压缩方案 js和css
                     new TerserWebpackPlugin({
                        cache:true      开启缓存
                        parallel:true     开启多进程打包
                        sourceMap:true   启用source-map
      webpack5:     安装插件    npm i webpack@nextwebpack-cli-D
            module.exports={mode:'development'}
            
  • 相关阅读:
    部署LVS-DR(直接路由)群集
    快速了解LVS负载均衡群集及部署LVS-NAT(地址转换)群集
    MySQL一些常用的高级SQL语句
    MySQL高可用群集MHA部署及故障测试
    MySQL的主从复制与读写分离
    你知道数据库中数据丢失的严重性吗,快来学习数据库的备份与恢复!!
    快速掌握mysql索引、事务与存储引擎知识以及使用命令
    MySQL数据库常用的一些管理操作
    带大家简单了解MySQL数据库
    剑指offer63-数据流中的中位数**
  • 原文地址:https://www.cnblogs.com/ttaoai/p/13410486.html
Copyright © 2011-2022 走看看