webpack中的模块


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/06/04/webpack%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97/

摘要

本文主要讲述了:

  1. 为什么需要打包工具
  2. webpack 中的模块
  3. 如何打包
  4. webpack 中的 module

正文

在模块化编程中,开发者将程序解耦为离散的功能块,这种功能块就被称作模块。

模块化编程的好处是:就像搭积木一样,可以通过引用不同的模块来完成特定的功能。让代码结构更清晰,让开发、测试和维护更加方便。

nodejs 自建立之初就支持模块化编程。

但浏览器中的 JavaScript 模块化发展缓慢。

为什么需要打包工具

模块化虽然有许多的优点,但在浏览器中情况有些特殊。

假如不打包,使用 n 个模块就要进行 n 次网络请求,高并发对于服务器来说可不是一件好事。

将所有的模块打包成 1 个,让请求次数减少到 1 次,减少并发,这就是打包工具存在的意义。

webpack 中的模块

在 webpack 中,有多种方式可以用来表述模块的依赖关系。例如:

  • ES2015 中的import
  • CommonJS 中的require()
  • CSS 中的url()
  • HTML 中的src
  • ……

换言之,在 webpack 中,但凡用上述方式引用的文件和数据都被视作模块。

如何打包

webpack 中存在一个名为entry(入口)的概念,webpack 从entry着手,顺藤摸瓜,就能分析出整个项目的依赖图。

webpack 中的 module

webpack 把一切资源都视作模块,但 webpack 本身只能处理 JavaScript 和 JSON。

loader 将非 JavaScript 模块转换为 JavaScript 模块。

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/06/04/webpack%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97/


本文对你有帮助?请支持我


支付宝
微信