没有什么比时间更具有说服力了,因为时间无需通知我们就可以改变一切。

最近工作中用到了nuxt,才发现,如果webpack学的6,nuxt基本不需要学习,没什么学习成本的,因此,这篇重新记录下webpack4的一些基础知识点,下一篇将会配置一个优化到极致的react脚手架,也希望大家能够持续关注,配置webpack就是优化优化再优化,哈哈~

已经发布了webpack4的30个步骤打造优化到极致的react开发环境,如约而至,点击这里

酒壮怂人胆,我学这个的办法基本就分3步:

  1. 首先,将这些必要的配置,以及某些loader,某些插件,像语文课文一样默读,并背诵(这一步最重要)
  2. 动手去实践,去试错
  3. 理解其原理

好了,正式开始

前言

Webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。

WebPack和Grunt以及Gulp相比有什么特性

其实Webpack和另外两个并没有太多的可比性,Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案,不过Webpack的优点使得Webpack在很多场景下可以替代Gulp/Grunt类的工具。

  1. Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。
  2. Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。
  3. Chunk:代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。
  4. Loader:模块转换器,用于把模块原内容按照需求转换成新内容。
  5. Plugin:扩展插件,在 Webpack 构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要的事情。
  6. Output:输出结果,在 Webpack 经过一系列处理并得出最终想要的代码后输出结果。

1. 从0开始配置结构

  • 初始化项目结构

2. 配置webpack.config.js

  • 在项目根目录新建webpack.config.js

3. 配置开发服务器

4. 打包js

5. 支持ES6,react,vue

6. 处理css,sass,以及css3属性前缀

处理css

动态卸载和加载CSS

style-loader为 css 对象提供了use()和unuse()两种方法可以用来加载和卸载css

比如实现一个点击切换颜色的需求,修改index.js

处理sass

提取css文件为单独文件

7.产出html

8. 处理引用的第三方库,暴露全局变量

webpack.ProvidePlugin参数是键值对形式,键就是我们项目中使用的变量名,值就是键所指向的库

9. code splitting、懒加载(按需加载)

说白了就是在需要的时候在进行加载,比如一个场景,点击按钮才加载某个js.

10. JS Tree Shaking

11. 图片处理

12. Clean Plugin and Watch Mode

清空目录,文件有改动就重新打包

13. 区分环境变量

14. 开发模式与webpack-dev-server,proxy

到这里基本就结束了,觉得有帮助,不妨点个,不足之处,还望斧正~

转载于:https://juejin.im/post/5cea1e1ae51d4510664d1652

关于webpack4的14个知识点,童叟无欺相关推荐

  1. js知识点 掘金_关于webpack4的14个知识点,童叟无欺

    没有什么比时间更具有说服力了,因为时间无需通知我们就可以改变一切. 最近工作中用到了nuxt,才发现,如果webpack学的6,nuxt基本不需要学习,没什么学习成本的,因此,这篇重新记录下webpa ...

  2. 4十4十4写成乘法算式_小学数学二年级下册数学1-4单元知识点复习提前准备才能考的更好...

    期中考试快到了,小学数学二年级下册1-4单元知识点复习,为考试做准备! 第一单元数据收集与整理 1. 收集数据的方法: (1) 民意调查:如投票选举. (2) 实地调查:如现场观察,收集,统计数据. ...

  3. iOS 开发者一定要知道的 14 个知识点

    本文讲的是iOS 开发者一定要知道的 14 个知识点, 作为一个 iOS 开发者(现在对 Swift 中毒颇深 ).我从零开始创建应用.维护应用,并且在很多团队待过.在我的职业生涯中,一句话一直响彻耳 ...

  4. 【Python基础】Python基础语法14个知识点大串讲

    作者:来自读者投稿 来源:Python数据之道 Python基础语法大串讲 Python 是一门面向对象的编程语言,相信这篇文章对于初学者而言应该会有一个比较大的帮助,下面我们将 Python 中常用 ...

  5. python中、文件最重要的功能是( )和接收数据_Python基础语法14个知识点大串讲

    来源:Python数据之道 Python基础语法大串讲Python 是一门面向对象的编程语言,相信这篇文章对于初学者而言应该会有一个比较大的帮助,下面我们将 Python 中常用的基础语法和函数做了一 ...

  6. npm install 报错 汇总_一年级:一年级上册语文期中考试内容汇总(14单元知识点),考试内容都在这一篇,收藏看一看!...

    第一单元知识点汇总 一.会写字一 二 三 上 口 目 耳 手 日 田 禾  火 虫 云 山 八 十 二.会认字天 地 人 你 我 他 一 二 三  四 五 上 下 口 目 耳 手  足 站  坐 日 ...

  7. 一个优秀的前端都应该阅读这些文章

    前言 的确,有些标题党了.起因是微信群里,有哥们问我,你是怎么学习前端的呢?能不能共享一下学习方法.一句话也挺触动我的,我真的不算是什么大佬,对于学习前端知识,我也不能说是掌握了什么捷径.当然,我个人 ...

  8. 2020年前端面试复习必读精选文章【赠复习导图】

    前言 之前写过一篇 一年半经验如何准备阿里巴巴前端面试,给大家分享了一个面试复习导图,有很多朋友说希望能够针对每个 case 提供一个参考答案. 写答案就算了,一是精力有限,二是我觉得大家还是需要自己 ...

  9. github大佬呕心沥血整理的2020年前端面试复习必读精选文章【赠复习导图】

    2021年前端面试必读文章[超三百篇文章/赠复习导图] 转载.原文链接 哈哈,之前是 2020 年必读文章,到了 2021 年了,感觉这些文章还都是经典,那就改个标题吧.[手动狗头] 前言 之前写过一 ...

最新文章

  1. 用Micro:bit做浇灌系统
  2. kubernetes ConfigMap
  3. 移动通信网络中的数字基带
  4. CodeForces - 1494E A-Z Graph(构造+思维)
  5. 信息学奥赛C++语言: 跑步
  6. 马云:不能把孩子放在温室里,光给孩子知识是不够的
  7. python flask ajax处理按钮_Python Flask前后端Ajax交互的方法示例
  8. 适用于中小型公司代理服务器的IPTABLES脚本
  9. ns.ajax,UIWebView使用NSURLProtocol(拦截),ajax加载失败的问题
  10. APUE---chap6系统数据文件和信息---6.2~6.4 6.10
  11. 使用Md5加密算法对密码进行加密(工具类)
  12. Word如何快速打出公式
  13. <Multi-channel and Multi-model based Autoencoding Prior for Grayscale Image Restoration>笔记
  14. 读书笔记 摘自:《跟任何人都聊得来》
  15. 安卓Android公交查询系统app资源分享
  16. arduino的基本函数
  17. 软件开发怎么对抗抄袭_对抗软件开发中的复杂性
  18. Lind.DDD.Repositories.Mongo层介绍
  19. 从下面六张卡片中选出四张c语言,二年级数学下册期中试题
  20. 安装老版本的Pytorch

热门文章

  1. 『TensorFlow』分布式训练_其二_单机多GPU并行GPU模式设定
  2. Arduino抢答器
  3. 总结一下在ASP.NET中开发网站的一般步骤
  4. AOP 拦截器 JDK动态代理机制 struts2 mybatis spring-aop
  5. 一步一步教你玩转.NET Framework的配置文件app.config (转载)
  6. OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
  7. HBuilder工作笔记002---HBuilder打包IOS应用测试IOS应用
  8. 3516a 自带的ive 算子的运行情况分析
  9. Alt+/ 快速提示快捷键修复及ecplise心得
  10. 图的深度优先搜索(DFS)