javascript绑定器的工作原理

javascript绑定器的工作原理,javascript,bundler,Javascript,Bundler,当我试图理解javascript bundler如何工作时,我无法理解以下代码 // require function var require = function (module) { if (!dependencies[module]) { // module not loaded, let’s load it var exports = {} modules[module](exports) // now in `exports` we have the thin

当我试图理解javascript bundler如何工作时,我无法理解以下代码

// require function
var require = function (module) {
 if (!dependencies[module]) {
   // module not loaded, let’s load it
   var exports = {}
   modules[module](exports)
   // now in `exports` we have the things made “public”
   dependencies[module] = exports
 }
 return dependencies[module]
}

我已经搜索了stackoverflow,找不到这个特定问题的任何答案。有人能解释一下上面的代码吗?感谢

首先请注意,
依赖项
对象充当缓存机制,以避免多次加载模块

现在让我们一步一步地进行:

var require = function (module) {
首先检查模块是否已加载,如果已加载,只需在下面返回即可

 if (!dependencies[module]) {
由于现在还不需要该模块,因此我们需要对此进行修改。所以 在当前作用域中创建一个将添加模块内容的对象

   var exports = {}
调用模块并将
exports
对象传递给函数,以便在函数内部可以向该对象添加内容

   modules[module](exports)
由于exports对象现在保存从该模块导出的所有内容,我们可以将其分配给
依赖项[module]
,下次我们可以检查(如上所述)是否已经需要它

    dependencies[module] = exports
返回刚刚添加的模块(或从以前的调用中添加的模块,因此
需要


具体来说,你不明白什么?例如,第一行是注释。你需要解释吗?
 return dependencies[module]