【青训营】- Node.js基础入门笔记2

简介: 【青训营】- Node.js基础入门笔记2

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

模块化机制

CommonJS规范

  • 加载方式
  1. 加载内置模块require('fs')
  2. 加载相对或绝对路径的文件模块require('/User/...')
  3. 加载npm包 require('lodash')
  • npm包查找原则
  1. 当前目录的node_modules文件夹
  2. 如果没有,沿着路径向上递归,直到根目录下的node_modules
  3. 找到之后会加载package.json 中main属性指向的文件,如果没有package.json则依次查找index.js、index.json、index.node
  • require.cache

require.cache中缓存着加载过的模块,缓存的原因:同步加载。

  1. 文件模块查找比较耗时,如果每次require都需要重新遍历查找,性能会比较差。
  2. 在实际开发中模块可能包含副作用代码。

其他模块化规范

  • AMD是RequireJS在推广过程中规范化产出,异步加载,推崇依赖前置。
  • CMD是SeaJS在推广过程中规范化产出,异步加载,推崇就近依赖。
  • UMD规范,兼容AMD和CommonJS模式。
  • ES Modules,语言层面的模块化规范,与环境无关,可借助babel编译。

包管理机制

npm是Node.js中的包管理其,提供了安装、删除等其他命令来管理包。

  • 常用命令
npm init
npm config
npm run
npm install 
npm uninstall
npm update
npm publish
复制代码

异步编程

Promise

Promise是一个具有四个状态的有限状态机,其中三个核心状态为pending,fulfilled、rejected以及还有一个未开始的状态。

Web应用开发

HTTP模块

搭建一个最简单的HTTP服务,可以通过Node.js内置的HTTP模块。

KOA介绍

Koa是基于Node.js平台的下一代Web开发框架,Koa它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手,不在内核方法中绑定任何中间件。下面介绍下执行过程。

  • 服务启动
  • 实例化application
  • 注册中间件
  • 创建服务、监听端口
  • 接受/处理请求
  • 获取req/res对象
  • 执行中间件
  • 输出设置到ctx.body上的内容
相关文章
|
4天前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
4天前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
4天前
|
JavaScript 前端开发 C语言
javascript基础入门
javascript基础入门
26 1
|
4天前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
|
2天前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
3天前
|
JavaScript 前端开发 程序员
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
|
4天前
|
缓存 前端开发 搜索推荐
服务端渲染(SSR)与静态网站生成(SSG):Next.js入门
服务端渲染(SSR)与静态网站生成(SSG):Next.js入门
13 0
|
4天前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
|
4天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
28 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
4天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
38 0