深入理解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下拉列表框的代码
Jun 04 Javascript
js兼容火狐获取图片宽和高的方法
May 21 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
Nov 23 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
Mar 11 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
Jan 04 Javascript
详解JS数值Number类型
Feb 07 Javascript
RequireJS用法简单示例
Aug 20 Javascript
JS中DOM元素的attribute与property属性示例详解
Sep 04 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
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
php getsiteurl()函数
2009/09/05 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
php缓冲输出实例分析
2015/01/05 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
微信小程序模板(template)使用详解
2018/01/31 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
使用Python神器对付12306变态验证码
2016/01/05 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
公司廉洁自律承诺书
2014/03/27 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
房产遗嘱范本
2015/08/06 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书