首页 > 编程语言 >【NodeJS】CommonJS原理

【NodeJS】CommonJS原理

时间:2023-03-02 17:03:27浏览次数:43  
标签:__ function CommonJS NodeJS require exports module webpack 原理

(function(modules) {
    var installedModules = {};
    function __webpack_require__(moduleId) {
        if(installedModules[moduleId]) {
            return installedModules[moduleId].exports;
        }
        var module = installedModules[moduleId] = {
            i: moduleId,
            l: false,
            exports: {}
        };
        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
        module.l = true;
        return module.exports;
    }
    __webpack_require__.m = modules;
    __webpack_require__.c = installedModules;
    __webpack_require__.d = function(exports, name, getter) {
        if(!__webpack_require__.o(exports, name)) {
            Object.defineProperty(exports, name, {
                configurable: false,
                enumerable: true,
                get: getter
            });
        }
    };
    __webpack_require__.n = function(module) {
        var getter = module && module.__esModule ? function getDefault() { return module['default']; } : function getModuleExports() { return module; };
        __webpack_require__.d(getter, 'a', getter);
        return getter;
    };
    __webpack_require__.o = function(object, property) {
        return Object.prototype.hasOwnProperty.call(object, property);
    };
    __webpack_require__.p = "";
    return __webpack_require__(__webpack_require__.s = 0);
})([
    (function(module, exports, __webpack_require__) {
        const greeter = __webpack_require__(1);
        document.querySelector("#root").appendChild(greeter.greet());
    }),
    (function(module, exports) {
        exports.greet = function() {
            var greet = document.createElement('div');
            greet.textContent = "Hi there and greetings!";
            return greet;
        };
    })
]);

 

标签:__,function,CommonJS,NodeJS,require,exports,module,webpack,原理
From: https://blog.51cto.com/u_13128132/6096461

相关文章

  • 【NodeJS】最小服务器
    consthttp=require('http');constfs=require('fs');http.createServer((req,res)=>{leturl=req.url;console.log(url);switch(req.me......
  • Memcached集群实现及原理介绍
    一、Memcached集群介绍1.自身通过算法保证数据唯一性2.集群形式对用户和Memcached都是透明的3.Memcached的集群是通过客户端实现的4.Memcached服务端相互不认识二、代码实现......
  • BOSHIDA 三河博电科技 AC/DC变换电源图及其工作原理
    BOSHIDA三河博电科技AC/DC变换电源图及其工作原理 1、逆变供电电源a.直流供电时,由直流供电电压经开关S1,隔离三极管VD1,保险丝FU2及由C2、C3、L1组成的π型滤波器后......
  • 自己动手从零写桌面操作系统GrapeOS系列教程——7.计算机组成与运行原理
    学习操作系统原理最好的方法是自己写一个简单的操作系统。在大学计算机课程中会学到一个叫冯·诺依曼结构的东西,很多同学当时学的也不是很清楚,也就是记住冯·诺依曼结......
  • 网络原理5
    实验总结实验一配置实验环境对应拓扑图配置PC机IP和网关配置步骤SW1创建VLAN10、VLAN20,配置虚接口IP地址,开启Trunk和路由功能,添加路由表SW2创建VLAN10、VLAN20,把接口添加......
  • 【数据库原理及应用MySQL】第一章 数据系统的基本原理
    第一章        数据库系统的基本原理1.1.1数据库系统的应用不做详细介绍 1.1.2数据库系统的概念数据(data):是客观事物的符号标识,是可以被计算机识别,存储和加......
  • TDengine 3.0.2.5 查询再优化!揭秘索引文件的工作原理
    TDengine3.0虽然对底层做了大规模的优化重构,但是相对于数据文件的工作逻辑和2.0相比是整体保持不变的。本系列文章的主旨在于帮助用户深入理解产品,并且拥有基本的性能调......
  • Redis主从复制原理
    1.当从服务器连接上主服务器后,主服务器向从服务器发送进行数据同步消息2.主服务器接到从服务器发送的数据同步的消息,把主服务器数据持久化,复制rdb文件发送给从服务器,从服......
  • 简述traceroute命令的原理
    原理traceroute命令是一种用于显示数据包从源主机到目的主机经过的路由器和网络设备的路径的工具。traceroute命令的原理是利用IP数据报的生存时间(TTL)字段和因特网控制报......
  • LVS的NAT,TUN,DR原理及区别
    原理及其区别LinuxVirtualServer是通过ipvs内核模块和ipvsadm用户空间命令行工具来实现负载均衡的它支持三种工作模式:NAT模式:LVS调度器将请求转发给后端服务器,同时修......