模块

模块化编程 中,开发人员将程序分解成称为模块的离散功能块。

每个模块的表面积都比完整程序小,这使得验证、调试和测试变得微不足道。编写良好的模块提供了可靠的抽象和封装边界,因此每个模块在整个应用程序中都具有连贯的设计和明确的目的。

Node.js 自诞生之日起就支持模块化编程。然而,在 Web 上,对模块的支持一直进展缓慢。存在多种工具支持 Web 上的模块化 JavaScript,它们具有各种优点和局限性。Webpack 基于从这些系统中汲取的经验教训,并将模块的概念应用于项目中的任何文件。

什么是 webpack 模块

Node.js 模块 相比,webpack 模块可以通过多种方式表达其依赖关系。以下是一些示例

  • 一个 ES2015 import 语句
  • 一个 CommonJS require() 语句
  • 一个 AMD definerequire 语句
  • 一个 @import 语句 在 css/sass/less 文件中。
  • 样式表中的图像 URL url(...) 或 HTML <img src=...> 文件。

支持的模块类型

Webpack 原生支持以下模块类型

除此之外,webpack 还支持通过加载器来处理用各种语言和预处理器编写的模块。加载器告诉 webpack 如何处理非原生模块并将这些依赖项包含到您的中。webpack 社区已经为各种流行的语言和语言处理器构建了加载器,包括

以及许多其他!总的来说,webpack 提供了一个强大而丰富的 API 用于自定义,允许您将 webpack 用于任何堆栈,同时保持对您的开发、测试和生产工作流程不加意见

有关完整列表,请参阅 加载器列表编写您自己的加载器

5 位贡献者

TheLarkInnsimon04rouzbeh84EugeneHlushkobyzyk