webpack学习|青训营笔记

36 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 十八 天

webpack打包工具

多资源生成对应的bundle
支持Babel、Eslint、TS、
npx webpack
多资源合并成一个资源,配置入口出口

const path = require('path');

module.exports = {
  devtool: false,
  mode: 'development',
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.join(__dirname, './'),
  },
};

生成bundle.js

const path = require('path');

module.exports = {
  context: path.join(__dirname, 'src');
}

安装依赖

写配置文件

执行编译命令

image.png 2、3属于递归处理

image.png

image.png 针对不同后缀进行不同处理 loader

image.png es6 babel将高版本css代码 类 箭头函数都是es6语法 babel和webpack

image.png htmlwebpackplugin自动生成html页面

工具线

借助hmr,快速呈现前端页面

.vue无法直接加载在前端界面,需要webpack编译成js css文件来渲染
compiler 就像是一个大管家,它就代表上面说的三个阶段,在它上面挂载着各种生命周期函数,
而 compilation 就像专管伙食的厨师,专门负责编译相关的工作。
在 Webpack 中,就是通过 tapable 在 comiler 和 compilation 上像这样挂载着一系列生命周期 Hook,它就像是一座桥梁,贯穿着整个构建过程: 搭建结构,读取配置参数
用配置参数对象初始化 Compiler 对象 挂载配置文件中的插件
执行 Compiler 对象的 run 方法开始执行编译
从入口文件出发,调用配置的 loader 规则,对各模块进行编译
找出此模块所依赖的模块,再对依赖模块进行编译
Compiler 它就是整个打包过程的大管家,它里面放着各种你可能需要的编译信息生命周期 Hook,而且是单例模式