深入理解Node内建模块和对象


Posted in Javascript onMarch 12, 2019

node 核心中有些内建模块,使用这些模块可以操作系统,文件和网络。打开 nodejs.org 官网可以看到文档中对应版本的 API ,推荐使用稳定版。

深入理解Node内建模块和对象

当然也不全是模块,比如 consolebuffer 是对象,这里简单的讲下一些常用的内建模块。

比如有操作文件系统的 filename 、可以创建监听 HTTP 请求的网络服务的 HTTP 、还有操作系统的 OS 模块、还有 path ,操作路径、 process 可以返回我们现在正在处理的信息、 QueryString 用来创建 http 服务的时候非常有用。 stream 可以用来操作数据流,后面需要的时候也可以学到其它的一些模块。

首先我们先来看看 path 模块,在文档中可以看到这个模块所有的函数。

深入理解Node内建模块和对象

往下拉也可以看到针对模块的使用作出的说明。

深入理解Node内建模块和对象

回到编辑器,引入 path 模块

深入理解Node内建模块和对象

这就是 path 对象,有很多有用的属性,比如 root 根目录路径, dir 应用的文件夹路径, base 应用的名称, ext 文件的后缀名, name 除去后缀名的应用名。可以很容易的得到相关的字符串。

关于如何使用 OS 模块获取当前操作系统的信息。在文档中可以看到这个模块所有的函数。

深入理解Node内建模块和对象

比如 freemem ,会返回当前可用的内存有多少。 totalmem 返回总内存的大小。 uptime 获取开机时间等等。

深入理解Node内建模块和对象

node 之前,用 JavaScript 是得不到这些信息的, JavaScript 被设计为只能操作 window 或者 document 对象,而不能获取操作系统的信息。

fs 模块是我们之后用到的非常多的一个,官方的文档中列出了很多的操作文件和路径的方法。

深入理解Node内建模块和对象

这里列举一个例子看看如何在 node 中操作,其余的按照文章的方法一一尝试学习就好。这里需要注意的是在实际编程环境里, fs 对象里有很多的同步或者阻塞的方式,和异步或者非阻塞的方法。尽量避免使用同步方法,使用异步方法。因为 node 是单线程的,同步的方法过多,会造成阻塞,从而无法服务众多客户端。

深入理解Node内建模块和对象

这里以同步方法是为了方便理解。

深入理解Node内建模块和对象

我们得到了一个字符串数组,是这个文件夹中的文件。 好了,我们尝试再使用异步的方法看看,第一个参数是路径,第二个参数是回调函数, node 会在异步操作完成后自动执行函数。

深入理解Node内建模块和对象

得到的结果和同步是一样的,那如果我更改下路径会发生什么的?

深入理解Node内建模块和对象

提示没有这样的文件或是目录。

所以在 node 中,能不用同步方法就不用,而是用异步。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery select选中的一个小问题
Oct 11 Javascript
在网页中使用document.write时遭遇的奇怪问题
Aug 24 Javascript
jquery创建并行对象或者合并对象的实现代码
Oct 10 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
JavaScript setInterval()与setTimeout()计时器
Dec 27 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 Javascript
基于Cesium绘制抛物弧线
Nov 18 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 #Javascript
mpvue开发音频类小程序踩坑和建议详解
Mar 12 #Javascript
React中this丢失的四种解决方法
Mar 12 #Javascript
使用koa2创建web项目的方法步骤
Mar 12 #Javascript
如何为你的JS项目添加智能提示与类型检查详解
Mar 12 #Javascript
Vue项目引发的「过滤器」使用教程
Mar 12 #Javascript
通过JS运行机制的角度说说作用域
Mar 12 #Javascript
You might like
德生H-501的评价与改造
2021/03/02 无线电
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
浅谈Python基础之I/O模型
2017/05/11 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python面向对象进阶学习
2019/05/21 Python
Python selenium的基本使用方法分析
2019/12/21 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
python实现自动清理重复文件
2020/08/24 Python
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
车间主管岗位职责
2013/11/14 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
婚前协议书
2014/04/15 职场文书
交通事故协议书范本
2014/11/18 职场文书
保安辞职信范文
2015/02/28 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers