Node.js学习日志-01

9 篇文章 0 订阅

1.官网上对node的定义

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm

2.exports与Moudle.exports
其实可以在node控制台打印输出一下两者
在这里插入图片描述
这里可以看出两者是等价的,exports是moudle.exports的一个指向
根据我的理解来看在node.js的源码当中export=moudle.exports,moudle.exports会返回一个moudle.exports对象,可是如果令exports={},那么就丢失了moudel.exports的联系,这个时候的exports就指向了另一个空对象,与原来的moudle.exports对象就失去了联系。
在这里插入图片描述
在这里插入图片描述
node可以很好的解决死锁。。。。直接给你关了。。。
死锁触发条件

  1. 互斥条件:改为一进程使用,别的用不了
  2. 请求和保持:已经有了一个进程在使用了,却还请求别的
  3. 不剥夺条件:没用完之前不会放掉
  4. 环路等待:A->B->C->A

require加载方式:
1.核心模块:模块名
2.第三方模块:模块名
3.自定义模块:路径
优先会从缓存中进行加载
在这里插入图片描述
自定义npm包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果package.json中不写任何内容,会寻找index.js文件作为默认备选项

所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。
具体来说,异步执行的运行机制如下。(同步执行也是如此,因为它可以被视为没有异步任务的异步执行。)

(1)所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。

(2)主线程之外,还存在一个"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。

(3)一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。

(4)主线程不断重复上面的第三步。

Express

原生的http在某些方面表现不足以应对我们的开发需求,所以我们就需要使用框架来加快我们的开发效率,框架的目的就是提高效率,让我们的代码更高度统一。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值