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'}
            
  • 相关阅读:
    可展开的UITableView (附源码)
    如何给Wordpress安装插件
    使用SAP UI5 Web Components开发React应用
    如何在SAP Fiori应用里使用React component
    SAP云平台上的Fiori Launchpad tile数据是如何从后台取出来的
    ABAP Netweaver和SAP Hybris的内存管理
    SAP CRM的Genil层和Hybris的jalo模型
    wordpress插件在服务器上的存储位置
    一步步把一个SpringBoot应用打包成Docker镜像并运行
    SAP物料主数据创建时间和创建个数的函数关系
  • 原文地址:https://www.cnblogs.com/ttaoai/p/13410486.html
Copyright © 2011-2022 走看看