详解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中的非阻塞方法介绍
Jun 05 NodeJs
用nodejs写的一个简单项目打包工具
May 11 NodeJs
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
Nodejs中自定义事件实例
Jun 20 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
May 13 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 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利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
JS 判断代码全收集
2009/04/28 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python Selenium参数配置方法解析
2020/01/19 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
python 实现音频叠加的示例
2020/10/29 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
人事任命书范文
2014/06/04 职场文书
装修施工安全责任书
2014/07/24 职场文书
入团介绍人意见范文
2015/06/04 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript