模块

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

每个模块的表面积都比完整的程序小,这使得验证、调试和测试变得简单。编写良好的模块提供了坚实的抽象和封装边界,因此每个模块在整个应用程序中都有一个连贯的设计和清晰的目的。

Node.js 几乎从一开始就支持模块化编程。然而,在 Web 上,对模块的支持迟迟未能到来。目前存在多种工具支持 Web 上的模块化 JavaScript,它们各有优缺点。Webpack 吸取了这些系统的经验教训,并将模块的概念应用于项目中的任何文件。

什么是 webpack 模块

Node.js 模块不同,webpack 模块可以用多种方式表达它们的依赖。例如:

  • 一个 ES2015 import 语句
  • 一个 CommonJS require() 语句
  • 一个 AMD definerequire 语句
  • CSS/Sass/Less 文件中的一个 @import 语句
  • 样式表中的图片 URL(url(...))或 HTML <img src=...> 文件。

支持的模块类型

Webpack 原生支持以下模块类型:

此外,webpack 通过加载器(loaders)支持用各种语言和预处理器编写的模块。加载器向 webpack 描述了如何处理非原生模块,并将这些依赖项包含到您的中。webpack 社区为各种流行的语言和语言处理器构建了加载器,包括:

还有许多其他!总的来说,webpack 提供了一个强大而丰富的定制 API,允许您将 webpack 用于任何技术栈,同时对您的开发、测试和生产工作流程保持非强制性意见

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

5 贡献者

TheLarkInnsimon04rouzbeh84EugeneHlushkobyzyk