详解nodejs内置模块


Posted in NodeJs onMay 06, 2021

概述

nodejs内置模块指的是除默认提供的语法之外,提供的美容,无需下载,直接引入,引入只写名称即可。

nodejs内置模块:

1、path模块 

用于处理文件路径。

path.normalize(路径解析,得到规范路径);

path.join(路径合并);

path.resolve(获取绝对路径);

path.relative(获取相对路径)。

......

2、until模块 

弥补js功能不足,新增API。

util.format(格式化输出字符串);

util.isArray(检查是否为数组);

util.RegExp(是不是正则);

util.isDate(是不是日期型);

util.inherits(child,parent)实现继承;

3、fs模块

文件操作系统的API

fs.readFile(filename,[options],callback); 读取文件。

fs.writeFile(filename,data,[options],callback);写文件。

fs.appendFile(filename,data,[options],callback);以追加的方式写文件。

fs.open(filename,flags,[mode],callback); 打开文件。

filename:文件名,必须。

data:写入的数据或者buffer流。

flags:操作标识,打开方式,r w。

[options]:指定权限,读、写、执行。是否可续写。

callback:读取文件后的回调函数。function(err,data);

fs.mkdir(path,[mode],callback);创建目录。

fs.readdir(path,callback);读取目录。

fs.exists(path,callback);查看文件与目录是否存在。

fs.utimes(path,atime,mtime,callback);修改文件的访问时间和修改时间。

fs.rename(oldfilename,newfilename,callback);重命名文件名或者目录。

fs.rmdir(path,callback);删除空目录。

path:被创建目录的完整路径以及目录名。

[mode]:目录权限,默认0777(可读可写可执行)。

atime:新的访问时间。

ctime:新的修改时间。

oldfilename、newfilename  旧名字和新名字。

callback:创建完目录后的回调函数。

4、events模块

events 模块只提供了一个对象: events.EventEmitter。

【EventEmitter 的核心就是事件触发与事件监听器功能的封装。】

EventEmitter 的每个事件由一个事件名和若干个参 数组成,事件名是一个字符串,通常表达一定的语义。对于每个事件,EventEmitter 支持 若干个事件监听器。当事件触发时,注册到这个事件的事件监听器被依次调用,事件参数作 为回调函数参数传递。

5、http模块

http.createServer(function(){});创建服务器。

http.get('路径',callback);发送get请求。

http.request(options,callback);发送请求。

options:options是一个类似关联数组的对象,表示请求的参数,callback作为回调函数,需要传递一个参数。

options常用的参数有host、port(默认为80)、method(默认为GET)、path(请求的相对于根的路径,默认是“/”。

get:

var http=require("http");
 var options={
    hostname:"cn.bing.com",
    port:80
}
 
var req=http.request(options,function(res){
    res.setEncoding("utf-8");
    res.on("data",function(chunk){
        console.log(chunk.toString())
    });
    console.log(res.statusCode);
});
req.on("error",function(err){
    console.log(err.message);
});
req.end();

post:

var http=require("http");
var querystring=require("querystring");
 
var postData=querystring.stringify({
    "content":"我真的只是测试一下",
    "mid":8837
});
 
var options={
    hostname:"www.imooc.com",
    port:80,
    path:"/course/document",
    method:"POST",
    headers:{
        "Accept":"application/json, text/JavaScript, */*; q=0.01",
        "Accept-Encoding":"gzip, deflate",
        "Accept-Language":"zh-CN,zh;q=0.8",
        "Connection":"keep-alive",
        "Content-Length":postData.length,
        "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
        "Cookie":"imooc_uuid=6cc9e8d5-424a-4861-9f7d-9cbcfbe4c6ae; imooc_isnew_ct=1460873157; loginstate=1;
         apsid=IzZDJiMGU0OTMyNTE0ZGFhZDAzZDNhZTAyZDg2ZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjkyOTk0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNmNmFhMmVhMTYwNzRmMjczNjdmZWUyNDg1ZTZkMGM1BwhXVwcIV1c%3DMD;
          phpSESSID=thh4bfrl1t7qre9tr56m32tbv0; 
          Hm_lvt_f0cfcccd7b1393990c78efdeebff3968=1467635471,1467653719,1467654690,1467654957;
           Hm_lpvt_f0cfcccd7b1393990c78efdeebff3968=1467655022; imooc_isnew=2;
            cvde=577a9e57ce250-34",
        "Host":"www.imooc.com",
        "Origin":"http://www.imooc.com",
        "Referer":"http://www.imooc.com/video/8837",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) 
        AppleWebKit/537.36 (Khtml, like Gecko) Chrome/53.0.2763.0 Safari/537.36",
        "X-Requested-With":"XMLHttpRequest",
    }
}
 
var req=http.request(options,function(res){
    res.on("data",function(chunk){
        console.log(chunk);
    });
    res.on("end",function(){
        console.log("评论完毕!");
    });
    console.log(res.statusCode);
});
 
req.on("error",function(err){
    console.log(err.message);
})
req.write(postData);
req.end();

6、jade模块

jade是一款高性能、简洁易懂的模板引擎。可通过jade来编写html文件。

jade类似一个用于快速编写html的语言,其编写后的文件后缀为.jade。

7、Express框架

Express是一个nodejs的web开源框架,用于快速的搭建web项目。其主要集成了web的http服务器的创建、静态文本管理、服务器URL地址请求处理、get和post请求处理分发、session处理等功能。

使用方法,在cmd中打开你所想创建web项目的路径。然后输入

Express appname

即可创建一个名为appname的web项目。

以上就是详解nodejs内置模块的详细内容,更多关于nodejs内置模块的资料请关注三水点靠木其它相关文章!

NodeJs 相关文章推荐
nodejs入门详解(多篇文章结合)
Mar 07 NodeJs
nodejs npm包管理的配置方法及常用命令介绍
Jun 05 NodeJs
nodejs实现黑名单中间件设计
Jun 17 NodeJs
轻松创建nodejs服务器(10):处理POST请求
Dec 18 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
nodejs中express入门和基础知识点学习
Sep 13 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
nodejs基础之buffer缓冲区用法分析
Dec 26 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 #NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 #NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 #NodeJs
nodejs处理tcp连接的核心流程
Feb 26 #NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 #NodeJs
一文秒懂nodejs中的异步编程
Jan 28 #NodeJs
在nodejs中创建child process的方法
Jan 26 #NodeJs
You might like
让PHP更快的提供文件下载的代码
2012/06/13 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
django框架使用方法详解
2019/07/18 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
jupyter notebook清除输出方式
2020/04/10 Python
基于python实现坦克大战游戏
2020/10/27 Python
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
线程同步的方法
2016/11/23 面试题
九年级语文教学反思
2014/02/04 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2014年稽查工作总结
2014/12/20 职场文书
导师对论文的学术评语
2015/01/04 职场文书
护士求职简历自我评价
2015/03/10 职场文书
二审代理词范文
2015/05/25 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏
Python字符串的转义字符
2022/04/07 Python