深入理解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 相关文章推荐
pjblog修改技巧汇总
Mar 12 Javascript
模拟用户操作Input元素,不会触发相应事件
May 11 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
Aug 05 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
JS中如何实现Laravel的route函数详解
Feb 12 Javascript
Javascript继承机制详解
May 30 Javascript
详解Web使用webpack构建前端项目
Sep 23 Javascript
js最简单的双向绑定实例讲解
Jan 02 Javascript
解决LayUI表单获取不到data的问题
Aug 20 Javascript
Javascript Worker子线程代码实例
Feb 20 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写的MySQL数据库用户认证系统代码
2007/03/22 PHP
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
简单的自定义php模板引擎
2016/08/26 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
Python中的ConfigParser模块使用详解
2015/05/04 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
Python中的heapq模块源码详析
2019/01/08 Python
Python requests模块实例用法
2019/02/11 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
利用python绘制正态分布曲线
2021/01/04 Python
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
公司清洁工岗位职责
2015/04/15 职场文书