webpack 笔记

webpack 官方文档
英文原文配置更新

配置文件
webpack.config.js
命令
webpack-cli

核心概念

  1. entry 规定入口文件,一个或者多个
  2. output 规定输出文件的位置及命名规则 只有一个出口
    path
    filename
  3. loader 各个类型模块的转换工具 (对应配置module.ruleswebpack只理解js模块,需要loader支持
{
  test: /\.css/ // 匹配目标文件
  use: 'css-loader' // 选择loader 需要单独安装
}
  1. plugin 用于执行范围更广的任务(对应配置 plugins涉及范围包括 打包优化和压缩、重新定义环境中的变量
    内置插件
    plugins: [
      new UglifyJsPlugin()
    ]
    
  2. mode 模式 developmentproduction

名词
chunk
bundle

entry

entry: {
  main: './path/to/my/entry/file.js'
}

可简写为字符串形式

loader

module.rules

use: [
  {
    loader: 'css-loader',
    options: {
      modules: true
    }
  }
]

重要内容

  • tree-shaking ( 减少打包后的体积 )
    描述移除 JavaScript 上下文中的未引用代码(dead-code)

  • Magic Comments : 魔法注释 webpackChunkName

/* webpackChunkName: vendor*/
  • webpack-dev-server

路径解析

模块热替换 HMR

  • resolve

代码分离
动态导入

import(/* webpackChunkName: "lodash" */ 'lodash').then(_ => {
})

bundle 分析工具
vuecli 配置 webpack 打包分析

"analyzer": "set analyzer=true && vue-cli-service build "
  • optimization
    1. minimizer
    2. runtimeChunk
    3. noEmitOnErrors
    4. splitChunks
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值