详解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服务器(5):事件处理程序
Dec 18 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
NodeJs测试框架Mocha的安装与使用
Mar 28 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
详解如何在NodeJS项目中优雅的使用ES6
Apr 22 NodeJs
使用Nodejs连接mongodb数据库的实现代码
Aug 21 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs实现大文件(在线视频)的读取
Oct 16 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
nodejs中方法和模块用法示例
Dec 24 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
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
js实现五星评价功能
2017/03/08 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
在Vue中使用Compass的方法
2018/03/02 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
python实现爬虫下载漫画示例
2014/02/16 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
应届大学生自荐信
2013/12/05 职场文书
三好学生自我鉴定
2013/12/17 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
辞职信标准格式
2015/02/27 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL