Webpack5实战教程

  • 1. 什么是webpack?
    • 简介
  • 2. 学习webpack使用的环境参数
    • node.js安装
    • webpack安装
  • 3. 学习webpack的必备技能
  • 4. 为什么使用webpack
  • 5. 如何使用webpack
  • 6. webpack五个核心概念
  • 7. webpack初始化配置
  • 8.编译打包应用
  • 9.注意!!!
  • 10.每日总结

1. 什么是webpack?

简介

  1. 首先,他是一个工具,就像扳手螺丝刀,等一系列工具.
    工具的作用就是让我们更方便,更快捷方便的完成我们想做的事
  2. webpack的作用是文件打包,好!那么问题又来了,什么是打包?
  3. 打包”,如何理解? 假设我们需要寄快递。我们将许多的物品都放进了一个纸皮箱,然后进行封箱。 这就是打包。 对应到前端开发来说,就是将很多的的 css文件,js文件,图片等“物品”,全都写进一个js文件,而不是在一个html页面通过script,link标签去引入多个静态资源。
  4. 而且我们的这个打包之后,还有更加强大的作用,我们打包的文件,如果版本不合适,我们的工具还可以帮助我们进行调整.
  5. 总而言之,webpack方便而又强大!!!
  6. webpack模块化,其实不同的css,不同的js就是一个模块。
比如说,一个index.html,通常会有一个index.css,
一个index.js,还有其他的css,js。
这些不同的文件都可以看做不同的模块。
不同的模块有各自的作用。

总结来说:用这个工具,帮助我们将不同的资源和文件,进行打包,也就是合并在一个文件里面。
但是不仅仅如此,它还附加了一些功能。
例如:
1.CSS 预处理。将 Less, Sass 编译成css
2.ES6 语法 转成 ES5
webpack 是一种前端资源构建工具,一个静态模块打包器


2. 学习webpack使用的环境参数

node.js安装

  • Nodejs 10版本以上
    Node.js安装教程
    如果过程中出错可以看评论

webpack安装

  • Webpack 4.26版本以上
  1. 打开cmd命令行
  2. 输入命令 npm install webpack webpack-cli -g

3. 学习webpack的必备技能

  • 基本Nodejs知识和Npm指令
  • 操作终端我们需要用到Npm指令
  • 熟悉Es6语法

4. 为什么使用webpack

  1. 文件依赖关系错综复杂
  2. 静态资源请求效率低
  3. 模块化支持不友好
  4. 浏览器对高级JavaScript特性兼容度较低
<link rel='stylesheet' href='./index.less'>无法识别

我们就要使用我们的打包工具,进行重新加载编译。实际就是将浏览器不认识的语法编译成浏览器认识的语法。
例如:
less编译成cssES6 语法 转成 ES5等等。

5. 如何使用webpack

在VScode中打开终端,
使用npm init初始化
初始化后进行一次命名
后面全部按回车使用默认选项
然后使用npm i webpack webpack-cli -g全局安装
然后使用npm i webpack webpack-cli -D全局安装

6. webpack五个核心概念

  1. 入口(entry)
  • 入口起点(entry point) 指示 webpack 应该
    使用哪个模块来作为构建其内部 依赖图(dependency graph) 的开始.

  • webpack从起点文件开始,从起点寻找直接或间接依赖的其它所有的依赖,包括JS、CSS、图片资源等,作为将来打包原始数据.

默认值是 ./src/index.js,但你可以通过在 webpack configuration 中配置 entry 属性来指定一个(或多个)不同的入口起点。例如:

webpack.config.js

module.exports = {entry: './path/to/my/entry/file.js',
};
  1. 输出(output)
输出(Output)指示 webpack 打包后的资源
bundles 输出到哪里去,以及如何命名。
出口一般包含两个属性:path和filename。
用来告诉webpack打包的目标文件夹,以及文件的名称。
目的地也可以有多个。
  1. 加载器(loader)
Loader 让 webpack能够去处理那些非 JavaScript 文 件
webpack本身只识别Js文件,如果要加载非JS文件,
必须指定一些额外的加载器(loader),例如css-loader。
然后将这些文件转为webpack能处理的有效模块,
最后利用webpack的打包能力去处理。
  1. 插件(plugins)
插件可以扩展webpack的功能,
让webpack不仅仅是完成打包,
甚至各种更复杂的功能,
或者是对打包功能进行优化、压缩,提高效率
  1. 模式Mode
    模式(Mode)指示webpack使用相应模式的配置.
选项 特点
development 能让代码本地调试 运行的环境
production 能让代码优化上线 运行的环境

7. webpack初始化配置

创建一个空目录

  1. 初始化 package.json
输入指令: npm init

环境初始化

  1. 下载并安装 webpack
    自动生成依赖
输入指令: 全局安装   npm install webpack webpack-cli -g 本地安装 npm install webpack webpack-cli -D

8.编译打包应用

  1. 创建文件

    在我们的webpack文件夹内创建一个src目录,
    在里面创建一个index.js的文件
    打开新终端输入
  2. 运行指令

开发环境指令

webpack src/index.js -o build --mode=development

功能:webpack 能够编译打包 js 和 json 文件,
并且能将 es6 的模块化语法转换成 浏览器能识别的语法。

生产环境指令:webpack src/js/index.js -o build --mode=production

功能:在开发配置功能上多一个功能,压缩代码。

  1. 总结

webpack 能够编译打包 js 和 json 文件。
能将 es6 的模块化语法转换成浏览器能识别的语法。
能压缩代码。

  1. 留下的问题

不能编译打包 css、img 等文件。
不能将 js 的 es6 基本语法转化为 es5 以下语法。

9.注意!!!

在输入开发环境指令时,如果报错,首要查看打包文件路径!!!

10.每日总结

  • 今天对webpack有了一个基本的了解
  • 我们知道webpack是一个功能强大的打包工具
  • 它能合并打包我们的各种文件
  • 并且我们学会了如何使用它,
  • 了解到了它的五个核心概念以及对它们的认识.
  • 还学会了webpack初始化配置

今日的webpack学习到这里啦!
加油!明天更努力!

Webpack是什么?(webpack初学简单易理解)相关推荐

  1. 简单易理解的做法:有n个人围成一圈,顺序从1开始排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。简单的循环做法。

    写在前面:这个方法用到很简单的指针与循环,以方便新手上手该题,并且通过直接模拟的方式理解这一过程.很多同学看懂题目意思而无法实现,不妨看看我的方法. 上代码: #include<iostream ...

  2. Ajax简单易理解笔记

    Ajax笔记 一.get和post请求 1.post-file 二.什么是Ajax 三.封装Ajax 四.用户注册ajax接口测试 五.ajax-post 六.ajax-jquery 练习:一键换内容 ...

  3. Java常用类之String类知识清单,简单易理解

    String类基础知识 1.String类表示字符串,理解为不可变的字符序列 2.String类声明为final,不可被继承 3.String类实现了Serializable接口:表示字符串是支持序列 ...

  4. 简单易理解的RC滤波器(含电路仿真)

    滤波器 滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路. 滤波器主要有低通滤波器.高通滤波器和带通滤波器三种,按照电路工作原理又可分为无源和有源滤波器两大类 ...

  5. disable简单易理解用法(小白福音)

    今天遇到了disabled的一个练习,按照记忆试了一下,运行不出来,搜了半天才搜到可以解决我问题的信息,基于在很多人转载别人的博客,也没有解释,让初学者摸不到头脑,我就来把复杂的内容简单化,废话不多说 ...

  6. 多态的概念简单明了,易掌握,易理解!

    通俗易懂讲多态,举例说明易理解!!! 首先要满足多态就必须要有三个条件 继承关系 必须重写 父类引用必须指向子类对象 其次就是它的概念,其实不用去思考太多,只需要记住一点就好:就是一个类的实例的相同方 ...

  7. webpack 4x的安装和简单使用

    第一步 npm init 这条命令输完后会在当前目录下生成一个package.json文件 第二步 安装webpack npm install webpack -g//全局安装 npm install ...

  8. vue ---- 工程化概念、webpack概念、webpack的安装配置,以及简单使用

    引入jQuery,并使用他操作dom元素 index.js //1. 使用 ES6 中的高级语法, 导入一个jQuery import $ from 'jquery'//2. 定义 jQuery的入口 ...

  9. 修改html时webpack热更新,webpack学习之路(二)webpack-dev-server实现热更新

    上一章对webpack的配置有了简单的认识. 这一章,我需要学习的是webpack热更新,因为在开发过程中,不希望当文件更改时,人肉去编译文件,刷新浏览器. webpack热更新 webpack-de ...

最新文章

  1. 会排序吗_洗牌算法详解:你会排序,但你会打乱吗?
  2. Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]
  3. jni java c++ 参数传递问题解决
  4. 设置cookie存活时间_Django之cookie、session、token
  5. 个人项目框架搭建 -- 缓存接口与实现
  6. BZOJ3209(n的二进制表示中1的个数的乘积)
  7. java外围设计_Java 编程(23 种设计模式)
  8. Django model 字段类型及选项解析(一)
  9. linux学习笔记:明白Linux文件的属主和属组概念
  10. ubuntu设置截屏热键(区域截屏)
  11. 自相关函数与互相关函数
  12. 第二章 信息化规划与组织
  13. 注册icloud邮箱
  14. linux下write()和read()函数详解
  15. 我们该如何在网上寻找资源!!!!
  16. 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
  17. c语言 如何创建txt文件,C++文本文件读写操作详解
  18. 易语言 剪切板 html,易语言剪切板操作源码
  19. RPG游戏《黑暗之光》流程介绍与代码分析之(十二):怪物系统的实现
  20. 重庆邮电工商管理类转计算机专业,2020年重庆邮电大学转专业,大一新生转专业和入学考试...

热门文章

  1. Iperf测试问题处理指南
  2. Coursera华盛顿大学机器学习课程总结
  3. 如何自学Axure(0基础入门教程)
  4. matlab中如何转动三维图_matlab如何画三维图
  5. 手机LBS位置应用服务盘点
  6. mysql时间戳里取小时
  7. IntelliJ IDEA历史版本官网下载地址
  8. MVC之前的那点事儿系列(6):动态注册HttpModule
  9. setBounds()函数设置Java布局
  10. 简单理解2台主机数据通信过程