Webpack4快速上手【大前端必备知识】

本文是Webpack4的快速上手教程,涵盖了从初始化项目、配置文件、工作模式,到资源模块加载、加载器分类和核心工作原理的详细讲解。还介绍了插件机制、Webpack的功能,如自动编译、Dev Server、Source Map、模块热更新及不同环境的配置策略,帮助开发者全面理解并掌握Webpack4。
摘要由CSDN通过智能技术生成

目录

一、Webpack4 快速上手 

二、Webpack4 配置文件

三、Webpack4 工作模式

四、Webpack4 资源模块加载

五、Webpack4 常用加载器分类

六、Webpack4 核心工作原理 

七、 Webpack4 插件机制介绍 

八、 Webpack4 功能


一、Webpack4 快速上手 

  • yarn init --yes
  • yarn add webpack webpack-cli --dev
  • yarn webpack --version 查看版本
  • yarn webpack 打包(可以在 package.json 中添加 "build":"webpack" 修改打包指令)

 

  • yarn build打包  会有 dist文件夹

二、Webpack4 配置文件

const path = require('path')

module.exports = {
  entry: './src/main.js',
  output: {
    filename: 'bundle.js',
    path: path.join(__dirname, 'output')
  }
}

三、Webpack4 工作模式

  • 默认情况下,打包项目是 product 生产模式(压缩形式),里面包含优化,比如压缩
  • 我们是用生产模式 yarn webpack --mode development(未压缩形式),还有 none 原始模式,具体的差异在官网可查看:Mode | webpack
  • 也可以在 webpack.config.js 中配置 mode  模式
module.exports = {
    mode:'development',
    entry:'./src/index.js' //制定webpack 打包入口路径
    output: { //设置输出文件位置
        filename:'bundle.js', //输出文件名称
        path:path.join(__dirname, 'output') // //输出文件目录(必须是绝对路径)
    }
}

四、Webpack4 资源模块加载

  • yarn add css-loader --save
  • yarn add style-loader --dev
  • yarn add file-loader --dev 
  • yarn add file-loader --dev   //Webpack 文件资源加载器 
  • yarn add url-loader -dev // Webpack URL 加载器
  • 小文件使用 Data  URLs,减少请求次数
  • 大文件单独提取存放,用 file-loader ,提高加载速度
  • yarn add babel-loader @babel/core @babel/preset-env --dev //处理ES6新特性
  • yarn add html-loader --dev
const path = require('path')

module.exports = {
    mode:'none',
    entry:'./src/main.css' //制定webpack 打包入口路径
    output: { //设置输出文件位置
        filename:'bundle.js', //输出文件名称
        path:path.join(__dirname, 'output') // //输出文件目录(必须是绝对路径)
        pub licPath: 'dist/'
    },
    module: {
        rules : [
            {
                test:/.js$/,
                use:{ //超出 10KB 文件单独提取存放,小于 10KB 文件转换为 Data URLs嵌入代码中
                    loader:'babel-loader',
                    options: {
                        presets: ['@babel/preset-env']
                    }
                }
            },
            {
                test:/.css$/,
                use:[
                    'style-loader',
                    'css-loader'
                ]
            },
            {
                test:/.png$/,
                use:{ //超出 10KB 文件单独提取存放,小于 10KB 文件转换为 Data URLs嵌入代码中
                    loader:'url-loader',
                    options: {
                        limit: 10 * 1024 //10kb
                    }
                }
            },
             {
                test:/.html$/,
                use:[
                    loader:'html-loader',
                    options: {
                       attrs:['img:src', 'a:href']
                    }
                ]
            },
            
        ]
    }
}

五、Webpack4 常用加载器分类

  • 编译类  css-loader
  • 文件操作类 file-loader
  • 代码检查类  eslint-loader
  • babel-loader @babel/core @babel/preset-env --dev

六、Webpack4 核心工作原理 

 Loader 机制是webpack的核心

  • Loader 负责资源文件从输入到输出的转换 
  • 对于同一个资源可以一次使用多个Loader 

七、 Webpack4 插件机制介绍 

  增强 Webpack 自动化能力

  • Webpack  常用插件 (Webpack + Plugin)
  • 自动清除目录 clean-webpack-plugin
  • 自动生成使用 bundle.js 的 HTML 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值