Node.js 基础

Node.js program lifecycle & event loop

event driven approach 事件驱动的方式

CPU密集
IO密集
单线程

后端的分层

就是MVC模型,Node.js还遵循 CommonJS规范:一个文件就是一个模块,有自己独立的作用域。相当于是在一个函数内部写代码

(function (xxx, require, module, _filename, _dirname) {

  var a = 10;
})

REPL (read event print loop) 是Node.js的解释器。
require() 用来引入一个模块,比如 require('./index1.js')引入自定义的模块,还有官方的核心模块也是同样的方法引入,查阅文档:http://nodejs.cn/api-v16/
引入核心模块:require('fs'),只要Node启动,核心模块就会被加载到内存中

把当前文件导出为一个模块:
module.exports.test = test;
module.exports.a = 1;
然后在另一个文件中可以:let { test, a } = require('./index1.js) 的方式来获得到这两个变量,并且在加载模块之后会缓存,就算require多次同一个文件,也不会把同一个函数执行两次。

那么如何循环依赖模块?

package.json 是CommonJS规定的包描述符,每个包文件都必须有。require是怎么找这些模块的文件的,视频里有详细描述

管理模块和模块之间的依赖关系
npm, 主要关注常用命令和目录结构

Node 运行原理

Buffer

https://www.nodeapp.cn/buffer.html

Buffer 用来操作二进制数据流,buffer实例类似于整数数组,大小是固定的。
node的buffer申请不是通过js来实现的,而是通过c++来实现的

函数中如果传入 undefined 就代表没有传入

posted @ 2022-07-14 05:15  Lylee  阅读(20)  评论(0编辑  收藏  举报