详解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的url截取模块url-extract的使用实例
Nov 18 NodeJs
Nodejs中自定义事件实例
Jun 20 NodeJs
Nodejs实战心得之eventproxy模块控制并发
Oct 27 NodeJs
NodeJs读取JSON文件格式化时的注意事项
Sep 25 NodeJs
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
Nov 21 NodeJs
nodejs进阶(6)—连接MySQL数据库示例
Jan 07 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
Jan 05 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 NodeJs
如何利用nodejs自动定时发送邮件提醒(超实用)
Dec 01 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自定义hash函数实例
2015/05/05 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP文件与目录操作示例
2016/12/24 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
python修改操作系统时间的方法
2015/05/18 Python
python网络编程之数据传输UDP实例分析
2015/05/20 Python
不要用强制方法杀掉python线程
2017/02/26 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
python实现xml转json文件的示例代码
2020/12/30 Python
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
追悼会答谢词
2015/01/05 职场文书
廉政承诺书2015
2015/04/28 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android