webpack的理解

前面的话

webpack 是一个模块打包器(module bundler),处理模块间的依赖关系,并进行打包。

webpack基本功能

1、依赖管理:方便引用第三方模块,让模块更容易复用、避免全局注入导致的冲突、避免重复加载或者加载不必要的模块

2、合并代码:把各个分散的模块集中打包成大文件,减少HTTP的链接的请求次数,配合uglify.js可以减少、优化代码的体积

3、各种插件:babel把ES6+转化为ES5-,eslint可以检查编译时的各种错误

webpack的工作原理

简单的说就是分析代码,找到“require”、“exports”、“define”等关键词,并替换成对应模块的引用。

在一个配置文件中,指明对某些文件进行编译、压缩、组合等任务。把你的项目当成一个整体,通过一个给定的主文件 (index.js),webpack将从这个文件开始找到你的项目的所有的依赖文件,使用loaders处理他们,最后打包为一个浏览器可以识别的js文件。

使用webpack之前

举个例子:index.html里面有一大堆的css和js文件,如a.js b.js c.js等等

(1)a.js要用到b.js里面的一个函数,则a.js要放在b.js后面

(2)c.js要用到a.js里面的一个函数,则c.js要放在a.js后面

(3)b.js又要用到某个js文件里面的函数,则b.js就要放在其后面

如果有N多个js文件,需要手动处理他们的关系,即容易出错。

使用webpack

webpack的理念就是一切皆模块化,把一堆的css文件和js文件放在一个总的入口文件,通过require引入,剩下的事情webpack会处理,包括所有模块的前后依赖关系,打包、压缩、合并成一个js文件,公共代码抽离成一个js文件、某些自己指定的js单独打包,模块可以是css/js/imsge/font等等。

使用场景
  • 自动处理里面的图片路径,css里面背景图的路径,字体引用

  • 根据模板生成HTML,并自动处理上面的css/js引用路径

  • 开启本地服务器,一边改写代码,一边自动更新页面内容

  • 编译jsx es6 sass less coffescript等,并添加md5、sourcemap等辅助

  • 异步加载内容,不需要时不加载到DOM

  • 配合vue.js react.js等框架开发

参考:
https://blog.csdn.net/tangxiujiang/article/details/79511827

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值