深入理解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 相关文章推荐
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
javscript对象原型的一些看法
Sep 19 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
Jul 30 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
详解js中let与var声明变量的区别
Apr 05 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
Jul 22 Javascript
vue绑定class的三种方法
Dec 24 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
Python实现学校管理系统
2018/01/11 Python
谈谈python中GUI的选择
2018/03/01 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
商务邀请函范文
2014/01/14 职场文书
新学期开学标语2015
2015/07/16 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
导游词之无锡唐城
2019/12/12 职场文书
Python jiaba库的使用详解
2021/11/23 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript