Modules(模块)1

模块化程序设计中,开发者分解程序为若干功能上离散的分块,称之为一个模块

每个模块各自有小于完整程序的功能,琐碎到做验证、调试、测试等。写的好的模块会提供坚实的抽象和封装边界,这样整个应用下的每个模块才有连贯的设计和清晰的目标。

Node.js几乎从诞生开始就已经支持了模块化程序设计。但是在web上,对模块的支持来的太迟了。Web上存在很多工具支持模块化的JavaScript,带来了不同的好处,也受到不同的限制。Webpack建立在从这些系统学到的教训上,将模块的概念应用到项目中的任意文件上。

什么是webpack模块

Node.js模块不同,webpack模块能用多种方法来表达它们的依赖。一些样例如下:

  • 一个ES2015 import声明
  • 一个CommonJS require()声明
  • 一个AMD definerequire声明
  • 一个css/sass/less文件中的@import 声明
  • 样式表(url(...)或html(<img src=...>)文件中的图片url

ℹ️Webpack 1要求特定的loader来转换ES2015 import,但是在webpack 2中是立即可用的。

支持的模块类型

Webpack通过loaders支持很多种语言和预处理器写的模块。Loaders向webpack描述如何处理非JavaScript模块,如何把这些依赖引入到你的bundles里面。Webpack社区已经为众多流行语言和语言预处理器建造了loaders,包括:

还有更多其他的!总的来说,webpack为定制化(customization)提供了强大和丰富的API,使用户可以在任何情况下使用webpack,同时对你的开发,测试和生产工作流保持客观

要获取完整的列表,可查看loaders列表编写你自己的loader

1. https://webpack.js.org/concepts/modules/

results matching ""

    No results matching ""