What Is Webpack and How Does It

2020-10-11  本文已影响0人  _志铭

原文地址: What Is Webpack and How Does It Work

WebPack基本上是模块或模块捆绑器的包装器,但是由于其组件之一即插件,可以用作任务执行器,即我们可以执行各种任务,例如移动目录,清理等。

要了解什么是Webpack,让我们分析一下此图。

image

Webpack概念

为了理解webpack的概念,我们需要解释阐述一些东西,例如专业术语

在Web应用程序中,我们通常有许多具有依赖性的模块。

例如,我们可以有一个JS模块,该模块将依赖于其他.js模块,它们具有不同格式的图像,例如JPG或PNG。 我们可以拥有CSS文件,也可以使用某些CSS预处理器,例如SASS,Less或Stylus。

最后,我们有许多这样的模块以及每个模块的一系列依赖关系。

Webpack负责处理所有这些模块,并将它们转换为浏览器可以理解的资源,例如JS文件,CSS,图像,视频等。

Webpack真正完成了整个打包过程。

模块系统

在谈论模块时,我们还必须了解使用了哪些模块系统。 在浏览器中,没有预定义的模块系统,您必须使用一些不同的模块规范。

根据所使用的模块,必须使用特定的库将这些模块转换为浏览器最终可以理解的模块。

最常见的是:

AMD, 即asynchronous definition of modules.

CommonJS, 被使用在NodeJS中的一种.

ES2015.

以下是一个在AMD中如何定义一个模块的示例

// In mymodule.js
define(‘myModule’, [‘dep1’, ‘dep2’], (dep1, dep2) => {
return
function(){}
})
// In app.js
define(‘app’, [‘myModule’], myModule => {
>// stuff…
});

一些正在定义的模块具有一些依赖关系,这些依赖关系将异步加载,稍后我们将需要刚刚创建的那个模块。

以下是一个在CommonJS中一个模块定义的示例
An example of how a module is defined in CommonJS is the following:

// In mymodule.js  
exports.calc = (a, b) => a + b;  
// In app.js  
const myModule = require(‘/path/to/myModule’);
console.log(myModule.calc(1, 2));

在这里,我们导出一系列模块,然后需要它们。 在ES2015中,定义模块的方法如下:

// In mymodule.js
exports const calc = (a, b) => a + b;
// In app.js
import { calc } from ‘/path/to/myModule’;
console.log(calc(1, 2));

在这里,我们导入一个函数,在这种情况下为calc,然后我们导入它就可以使用它了。 这些模块系统很多,因为在Web应用程序中,每个项目都根据要实现的项目使用了自己的模块,因此Webpack都支持这些模块系统,因此我们可以使用其中的任何一个或混合使用几个来开发应用程序 。

上一篇 下一篇

猜你喜欢

热点阅读