深入理解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 相关文章推荐
prototype class详解
Sep 07 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
Apr 12 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
node结合swig渲染摸板的方法
Apr 11 Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 Javascript
JSONP 的原理、理解 与 实例分析
May 16 Javascript
vue.js实现h5机器人聊天(测试版)
Jul 16 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP缓冲区用法总结
2016/02/14 PHP
把textarea中字符串里含有的回车换行替换成<br>的javascript代码
2007/04/20 Javascript
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
vue keep-alive的简单总结
2021/01/25 Vue.js
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
德国足球商店:OUTFITTER
2019/05/06 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
离婚协议书范文2014
2014/10/16 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript