深入理解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 相关文章推荐
看了就知道什么是JSON
Dec 09 Javascript
最新28个很棒的jQuery 教程
May 28 Javascript
js读写json文件实例代码
Oct 21 Javascript
jquery隔行换色效果实现方法
Jan 15 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
微信小程序实现弹出菜单
Jul 19 Javascript
初试vue-cli使用HBuilderx打包app的坑
Jul 17 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
Aug 12 Javascript
js实现倒计时秒杀效果
Mar 25 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
Sep 04 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
PHP面向对象编程快速入门
2006/10/09 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
《植物妈妈有办法》教学反思
2014/02/25 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
关于车尾的标语大全
2015/08/11 职场文书
Flask response响应的具体使用
2021/07/15 Python
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js