webpack打包结果文件main.js解析

668 阅读1分钟
(() => {
    "use strict";
    /**
     * 所有模块集合,并进行初始化定义,但是所有的模块都是没有执行的,需要等待被引用处的代码执行了,才会进行执行
     * */
    var __webpack_modules__ = ({
        // module module.exports __webpack_require__
        "./a.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, {
                "dd": () => (dd),
                "default": () => (__WEBPACK_DEFAULT_EXPORT__)
            });

            const cc = {
                name: 'cc',
                age: 18
            };

            const dd = {
                name: 'dd',
                age: 18
            }

            const __WEBPACK_DEFAULT_EXPORT__ = (cc);
        }),

        "./css/a.css": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
            __webpack_require__.r(__webpack_exports__);
        }),
    });

    // 模块缓存器
    var __webpack_module_cache__ = {};

    /**
     * 模块加载器,根据模块id加载对应的模块
     * 如果缓存器中有了该模块,则直接返回
     * 如果没有该模块,则执行该模块
     * */
    function __webpack_require__(moduleId) {
        // 查找缓存
        var cachedModule = __webpack_module_cache__[moduleId];
        if (cachedModule !== undefined) {
            return cachedModule.exports;
        }

        var module = __webpack_module_cache__[moduleId] = {
            exports: {}
        };

        // 执行模块加载器
        __webpack_modules__[moduleId](module, module.exports, __webpack_require__);

        // 返回该模块的exports对象
        return module.exports;
    }

    /**
     * __webpack_require__.d
     * 遍历模块exports中的所有属性,对自身原型上的属性,挂载到module.exports上去,并且相同的属性名只挂载一次
     * @param exports module.exports
     * @definition 模块中导出对象的属性名集合
     */
    (() => {
        __webpack_require__.d = (exports, definition) => {
            for(var key in definition) {
                if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
                    Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
                }
            }
        };
    })();

    /**
     * __webpack_require__.o 判断原型是是否有该属性
     * */
    (() => {
        __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
    })();

    /**
     * __webpack_require__.r 在exports对象上添加 __esModule 属性,用于标识 es6 模块
     * */
    (() => {
        __webpack_require__.r = (exports) => {
            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
            }
            Object.defineProperty(exports, '__esModule', { value: true });
        };
    })();

    var __webpack_exports__ = {};

    (() => {
        __webpack_require__.r(__webpack_exports__);
        var _css_a_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css/index.css */ "./css/a.css");
        var _a__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index */ "./a.js");

        const a = {
            name: '123',
            age: 24
        }

        console.log('cc', _a__WEBPACK_IMPORTED_MODULE_1__.default)
        console.log('aTem', a);
        console.log("dd", _a__WEBPACK_IMPORTED_MODULE_1__.dd)
    })();
})();

//# sourceMappingURL=main.js.map