深入理解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 相关文章推荐
简单的JS多重继承示例
Mar 13 Javascript
Pro JavaScript Techniques学习笔记
Dec 28 Javascript
jQuery LigerUI 使用教程表格篇(1)
Jan 18 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
Jun 06 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 Javascript
js实现手机web图片左右滑动效果
Dec 29 Javascript
vue2.0 实现页面导航提示引导的方法
Mar 13 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
jQuery实现图片下载代码
Jul 18 jQuery
jquery实现简单拖拽效果
Jul 20 jQuery
一道JS算法面试题——冒泡、选择排序
Apr 21 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
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
JavaScript 事件查询综合
2009/07/13 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
python爬取各类文档方法归类汇总
2018/03/22 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
简单介绍django提供的加密算法
2019/12/18 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
单位在职证明书
2014/09/11 职场文书
小学生通知书评语
2014/12/31 职场文书