深入理解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和jquery批量绑定事件传参数一(新猪猪原创)
Jun 23 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
jquery自定义滚动条插件示例分享
Feb 21 Javascript
$(document).ready(function() {})不执行初始化脚本
Jun 19 Javascript
webapp框架AngularUI的demo改造之路
Dec 21 Javascript
jquery中ajax处理跨域的三大方式
Jan 05 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
JS验证码实现代码
2017/09/14 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python求导数的方法
2015/05/09 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python+opencv实现动态物体追踪
2018/01/09 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python 多进程队列数据处理详解
2019/12/23 Python
python 代码运行时间获取方式详解
2020/09/18 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
自动化毕业生专业自荐书范文
2014/02/04 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers
利用Apache Common将java对象池化的问题
2022/06/16 Servers