• 初探node.js


    一、定义及优势

    定义:Node.js是一个基于 Chrome V8 引擎 的 JavaScript 运行时,它以事件驱动为基础实现了非阻塞模型。

    优势:由于Web场景下的大多数任务(静态资源读取、数据库操作、渲染页面)都是I/O密集的,所以使用非阻塞模型就可以大大地提高CPU的利用率。

    使用场景:Web Server、本地代码构建(用于编译构建前端代码)、实用工具开发。

    二、成员

    1. CommonJs:模块规范
    2. global:全局对象
    3. process:当前执行的进程

    三、CommonJS规则

    • 每个文件是一个模块,有自己的作用域。
    • 在模块内部module变量代表模块本身
    • module.exports属性代表模块对外的接口

    实例1:编写2个模块用于实践下上述的三条规则。

    新建文件01_testA.js,内容如下:

    const testVar = 100;
    
    function test() {
        console.log(testVar);
    }
    
    // 将变量暴露给其他模块
    module.exports.var = testVar;
    module.exports.fn = test;
    
    console.log('testA executed');
    

    再新建一个模块,创建文件01_testB.js:

    // 支持js、json、node扩展名,不写依次尝试匹配。
    // 若不写路径则认为是build-in模块或者各级node_modules内的第三方模块
    // require特性:1、module被加载 的时候执行,加载后缓存 2、一旦出现某个模块被 循环加载,就只输出已经执行的部分,未执行的部分不会输出
    const mod = require('./01_testA'); 
    console.log(mod.var);
    mod.fn();
    

    在命令行运行01_testB.js文件,查看模块之间的调用结果,命令行输入node 01_testB.js,结果如下:

    testA executed
    100
    100
    
  • 相关阅读:
    jdbc读取数据库表
    java中byte和blob互转
    mysql解决错误的方法-MySQL日志
    源码编译配置lnmp部署zabbix
    ssh后门反向代理实现内网穿透
    Cisco、HUAWEI、H3c、Firewall等设备配置snmp
    zabbix通过snmp监控网络设备
    centos/linux扩容Swap分区
    fork炸弹
    解决You have new mail in /var/spool/mail/root提示
  • 原文地址:https://www.cnblogs.com/yunche/p/11069891.html
Copyright © 2020-2023  润新知