深入理解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 相关文章推荐
用正则获取指定路径文件的名称
Feb 27 Javascript
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Nov 30 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
JavaScript中连接操作Oracle数据库实例
Apr 02 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
javaScript封装的各种写法
Aug 14 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
May 12 Javascript
详解JWT token心得与使用实例
Aug 02 Javascript
vue路由传参三种基本方式详解
Dec 09 Javascript
vue中如何添加百度统计代码
Dec 19 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
phpfans留言版用到的install.php
2007/01/04 PHP
php实现图片缩放功能类
2013/12/18 PHP
浅析php数据类型转换
2014/01/09 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
selenium+python实现自动登录脚本
2018/04/22 Python
用Python shell简化开发
2018/08/08 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
思想品德自我评价
2014/02/04 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
python实现简易名片管理系统
2021/04/11 Python
Python+Appium实现自动抢微信红包
2021/05/21 Python