[译]webpack官网文档 :概念 -- 7.模块

原创翻译,转载请注明出处。

原文地址:https://webpack.js.org/concepts/modules/

 

在模块编程里,开发人员把程序分割成几个功能性的块,成为模块。

每一个模块都有一个相对于整个程序较小的表层部分,做一些验证,调试和零碎测试等。写个比较好的模块,提供了一致的抽象和边界封装,所以,在应用整体里每一个模块都有一个清晰的设计和明了的目的。

Node.js几乎从它开始启动的时候,就支持模块编程。在互联网上,支持模块已经慢慢来到。在网上已经有多个支持模块的工具,它们有各样的优点和局限。Webpack从这些系统中吸取教训,把模块的概念适用于你项目中的所有文件。

 

什么是一个webpack模块

对比与Node.js 的模块,webpack模块通过多个渠道扩展了它的相关性。一些例子如:

  • 一个ES2015的import声明
  • 一个CommonJS的require()声明
  • 一个AMD的define和require声明
  • 一个在css/sass/less文件里的@import声明

 

支持的模块类型

Webpack通过加载器支持多种语言和预处理来作成模块。加载器告诉webpack怎样处理非JavaScript模块,并且把它们的依赖一并包含到你的包里。Webpack社区为各种流行语言和语言处理器创建了加载器,包括:

  • CoffeeScript
  • TypeScript
  • ESNext(Babel)
  • Sass
  • Less
  • Stylus

还有其他很多!总的来说webpack提供了很多强大而丰富的定制API,它可以让你在任何栈使用webpack,前提是你的开发,测试和产品工作流还处于可扩展状态的时候。

 

-- End --