似乎在webpack的代码中看到过webpack中的module并不是commonJs中的module,而是自己定义的对象,它有个关键的__webpack_require__方法。在这个方法中会去初始化module结构{ exports: {}, id: moduleId, loaded: false }初始化完这个对象后,会将模块缓存起来,并执行这个模块的代码。modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);这个方法最后返回的即是module.exports。那么流程下来就是, modules[39]这个模块为false, 调用__webpack_require(39)拿到的就是false;至于这个模块是如何使用的,源码中主要是用来当作变量直接进行判断,具体逻辑没有深究。var LIBRARY = __webpack_require__(39); if (!LIBRARY) { ... }
似乎在
webpack
的代码中看到过webpack
中的module
并不是commonJs
中的module
,而是自己定义的对象,它有个关键的__webpack_require__
方法。在这个方法中会去初始化
module
结构初始化完这个对象后,会将模块缓存起来,并执行这个模块的代码。
这个方法最后返回的即是
module.exports
。那么流程下来就是,
modules[39]
这个模块为false
, 调用__webpack_require(39)
拿到的就是false
;至于这个模块是如何使用的,源码中主要是用来当作变量直接进行判断,具体逻辑没有深究。