NodeJS 简明基础知识

这篇博客对比了NodeJS环境和浏览器环境的区别,详细介绍了NodeJS的全局对象、模块化、NPM包管理器以及http模块的核心编程,包括创建Web服务器、路由、请求参数获取等,并探讨了NodeJS的任务队列机制。
摘要由CSDN通过智能技术生成

Node环境和浏览器环境区别

内置对象不同

  • 浏览器环境中提供了window全局对象
  • NodeJS环境中的全局对象不叫window, 叫**global**

this默认指向不同

  • 浏览器环境中全局this默认指向window
  • NodeJS环境中全局this默认指向空对象{}

API不同

  • NodeJS环境中没有DOM/BOM相关API

常用NodeJS 全局对象和方法

  1. __dirname: 当前文件所在文件夹的绝对路径
  2. filename: 当前文件的绝对路径
  3. setInterval / clea`rInterval : 和浏览器中window对象上的定时器一样
  4. setTimeout / clearTimeout : 和浏览器中window对象上的定时器一样
  5. console : 和浏览器中window对象上的打印函数一样

NodeJS模块化

CommonJS 规范

  • 在CommonJS规范中一个文件就是一个模块

    moduleA.js是一个模块

  • 在CommonJS规范中每个文件中的变量函数都是私有的,对其他文件不可见的

    // this is moduleA.js file.
    let name = "moduleA";
    function greetA() {
         
      console.log("hello~, this is moduleA");
    }
    
  • 在CommonJS规范中每个文件中的变量函数必须通过exports导出之后其它文件才可以使用

    // this is moduleA.js file.
    // ...
    
    // 将模块 moduleA.js 导出给外界。否则,对其他文件将不可见
    module.exports = {
         
      name: name,
      greetFromA: greetA,
    }
    
  • 在CommonJS规范中想要使用其它文件导出的变量函数必须通过**require()**导入模块才可以使用

    // this is main.js
    // 参数为路径字符串,倒入目标模块
    let aModule = require("moduleA");
    
    console.log(aModule.A);	//[Output] moduleA
    aModule.greetFromA(); // [Output] hello~, this is moduleA
    

    导出数据的四种方式

    1. 通过exports.xxx = xxx导出

    2. 通过module.exports.xxx = xxx导出

    3. 通过将导出对象赋值给

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值