开发者学堂课程【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上下载的第三方模块。核心模块的加载是最快的。