深入理解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不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
Feb 05 Javascript
两个数组去重的JS代码
Dec 04 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
Jan 02 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
jquery树形菜单效果的简单实例
Jun 06 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
Vue自定义属性实例分析
Feb 23 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
vue中使用vue-print.js实现多页打印
Mar 05 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php socket通信简单实现
2016/11/18 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
全面了解js中的script标签
2016/07/04 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
vue 2.0组件与v-model详解
2017/03/27 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
Python进阶篇之字典操作总结
2016/11/16 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
小学国庆节活动方案
2014/02/11 职场文书
施工工地安全标语
2014/06/07 职场文书
大学生工作求职信
2014/06/23 职场文书
2014年人事部工作总结
2014/12/03 职场文书
新郎新娘答谢词
2015/01/04 职场文书
中秋晚会致辞
2015/07/31 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
python模板入门教程之flask Jinja
2022/04/11 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang