node.js 中模块的分类|学习笔记

简介: 快速学习 node.js 中模块的分类

开发者学堂课程【Node.js 入门与实战node.js中模块的分类】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8294


node.js中模块的分类

目录

一、require() 函数的加载模块机制

二、node.js 中模块的分类

 

一、require()函数的加载模块机制

代码:

//当前项目(包)的入口文件

//封装一个render()函数

//将 render函数挂在到res对象上,可以通过res.render()来访问

//实现 get方式添加新闻

// -实现在原来list数组的基础上追加新闻,而不是覆盖

//实现post方式提交新闻

//实现首页显示新闻列表

//实现显示新闻详情页

//封装读取 data.json文件和写入 data.json文件的方法、封装获取用户 post 提交数据的方法

//1.加载 http模块

var http = require( ' http'); //require加载模块是同步的,不是异步,必须让此模块加载完毕后才能加载后续的模块

var fs = require( 'fs’);

var path =require( 'path " );

var mime = require( 'mime " );

var url = require( "url ');

var querystring = require( 'querystring');

var _ = require(‘underscore');

//2.创建服务

http.createServer(function(req,res) {

//要在这里写大量的代码

//为res对象添加一个render()函数,方便后续使用

//因为现在要渲染的 index.html中需要用到模板数据,所以给 render函数增加了第二个参数

//第二个参数的作用就是用来传递html页面中要使用的模板数据

res.render = function(filename, tplData){

};


二、node.js 中模块的分类

## node.js模块分类

### 核心模块Core Module、内置模块、原生模块

- fs

- http

-path

-url

-//都是内置模块

//核心模块、内置模块、原生模块都是node.js默认提供的模块

//node.js分三类,第一类叫做核心模块或者是内置模块或原生模块

所有内置模块在安装node.js的时候就已经编译成二进制文件,可以直接加载运行(速度较快)部分内置模块,在node.exe这个进程启动的时候就已经默认加载了,所以可以直接使用。

## 文件模块

## 按文件后缀来分

如果加载时,没有指定后缀名,那么就按照如下顺序依次加载相应模块

1.  .js   //每一个js文件就是一个模块

2.  .json

3.  .node (C/C++编写的模块)  //require里可以直接加载C或者C++编写的模块

//不止有后缀是js的文件才是文件模块,后缀是json或者是.node也可以是文件模块

//文件模块需要现加载、现执行、现编译,速度会慢

### 自定义模块(第三方模块)  //通过npm下载安装

-mime

-cheerio

-moment

-mongo

-

//自定义模块也相当于文件模块,都可以使用 require 进行加载

总结:

node.js里模块可以分为三类,第一类是内置模块也叫原生模块和核心模块,第二类是自己编写的文件模块,可以是.js文件,.json文件和.node文件,第三类模块是从npm上下载的第三方模块。核心模块的加载是最快的。

相关文章
|
24天前
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
17 1
JS如何优雅的实现模块自动滚动展示
|
10天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
10天前
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了在Nest.js构建应用时,如何通过事件/发布-订阅模式使应用程序更健壮、灵活、易于扩展,并简化服务间通信。文章主要围绕@nestjs/event-emitter模块展开,这是一个基于eventemitter2库的社区模块,提供了事件发布/订阅功能,使得实现事件驱动架构变得简单。文章还介绍了如何使用该模块,包括安装依赖、初始化模块、注册EventEmitterModule、使用装饰器简化监听等。最后总结,集成@nestjs/event-emitter模块可以提升应用程序的事件驱动能力,构建出更为松耦合、易扩展且高度灵活的系统架构,是构建现代、响应迅速且具有高度解耦特性的Nest.
|
17天前
|
缓存 JavaScript 前端开发
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
17 2
|
21天前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
25天前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
99 1
|
1月前
|
存储 缓存 JSON
Node.js有哪些模块系统
【8月更文挑战第12天】Node.js有哪些模块系统
32 3
|
1月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
88 1
|
21天前
[译] Node 模块中的 peer dependencies 是什么?
[译] Node 模块中的 peer dependencies 是什么?
|
1月前
|
存储 JavaScript 前端开发
nodejs os模块
nodejs os模块
26 0