node.js 的核心模块
来源:互联网 发布:剑灵强制交易软件 编辑:程序博客网 时间:2024/05/22 03:01
本文来源于:IT摆渡网---一个IT实时问答系统快速解决你的任何IT问题,无需等待!
json调试
前几天说以了下Node.js的模块化,这里再次说一下为什么Node.js中需要模块化
在后台开发语言中,比如Java、C#。他们都是隐含模块化的,Node.js默认帮我们提供了模块化这种机制。 在服务器端,我们想要使用底层的一些功能需要导入一些“包”来对其操作,比如操作文件、网络需要导入对应的包。其它语言中都是基于类来实现的模块化的思想,使用类来组织文件和文件之间的关联。 而Node.js中使用的是JavaScript语言,ECMAScript仅仅规定了基本的语法的书写,并没有规定文件之间关联,也就是说每个js文件之间是独立的,Node.js已经帮我们实现了js文件之间的关联(模块化) Node.js中的模块化是基于CommonJS规范的
JavaScript的局限性
- 没有模块系统
- 系统提供的接口较少,比如:缺少操作文件、I/O流等常用的接口
- 没有标准接口,缺少如web服务器、数据库等统一接口
- 缺乏管理系统导师JavaScript应用中基本没
- CommonJS规范
- Node.js开发之初遵守了CommonJS规范
- 使JavaScript达到像Java、Python、PHP等语言一样有开发大型应用的基本能力
- CommonJS规范规定每一个模块都有一个单独的作用域
- CommonJS规范规定每个模块对外公布的成员使用module.exports或者exports
- 有了模块化系统之后,Node.js提供了许多系统模块:文件、Buffer、I/O流、Socket等
那么接下来看一下核心模块
今天接触到的核心模块:
path模块
- 导入模块 var path = require("path");
basename() 获取文件名+后缀
path.basename("/foo/hello/world/123.html") //第二个参数,去掉获取的文件名中的相同部分 path.basename("c:/foo/hello/world/123.html",".html")
dirname() 获取目录
path.dirname("/foo/hello/world/123.html")
extname() 获取文件的扩展名(尾缀名)
path.extname("/foo/hello/world/123.html")
join() 合并路径
var p1 = "c://abc/xyz"; var p2 = "/123/456"; console.log(path.join(p1,p2));
parse() 把路径转换为一个对象
path.parse("c:\\home\\hello\\world\\123.html") { root: 'c:/', dir: 'c://home/hello/world', base: '123.html', ext: '.html', name: '123' }
format() 把一个路径对象转换成一个路径字符串
var obj = { root: 'c:\\', dir: 'c:\\home\\hello\\world', base: '123.html', ext: '.html', name: '123' } console.log(path.format(obj));
delimiter 环境变量的分隔符,可以跨平台 windows下是; 其它平台 :
path.sep 路径的分隔符 windows下是\ 其它下是/
isAbsolute() 是否是绝对路径
- URL模块
- 导入模块var url=requre("url")
- parse()把字符串的路径传换成对象
var uri = "http://www.baidu.com:8080/images/1.jpgversion=1.0&time=1123#abcd"; console.log(url.parse(uri));
format() 把路径对象转换成字符串
var obj = { protocol: 'http:', slashes: true, auth: null, host: 'www.baidu.com:8080', port: '8080', hostname: 'www.baidu.com', hash: '#abcd', search: '?version=1.0&time=1123', query: 'version=1.0&time=1123', pathname: '/images/1.jpg', path: '/images/1.jpg?version=1.0&time=1123', href: 'http://www.baidu.com:8080/images/1.jpg?version=1.0&time=1123#abcd' }; var str = url.format(obj); console.log(str);
querystring模块
- 导入模块 var querystring = require("querystring");
parse() 把参数字符串解析成对象
var obj = querystring.parse("version=1.0&time=123"); console.log(obj);
stringify() 把一个对象转换成一个字符串
escape() url进行编码
unescape() url进行解码
----------------------------------------------------分割线-----------------------------------------------
那么核心模块存在哪里呢,
- 核心模块存储在node.exe中,当node.exe运行的时候,核心模块会被加载,require的时候会加载到内存
- 在github上可以找到源代码,lib文件夹下
- 核心模块的执行速度比较快
阅读全文
0 0
- node.js 的核心模块
- Node.js的核心模块
- node.js核心模块
- Node.js核心模块
- Node.js核心模块
- node.js核心模块--笔记
- Node.js核心模块方法
- 第1章-安装Node.js及相关要点-1.4.Node.js的核心模块
- Node.js学习(9)----核心模块
- Node.js学习笔记2【核心模块】
- Node.js学习笔记-----核心模块
- Node.JS核心模块之module分析
- Node.js核心模块http客户端
- Node.js 核心模块 Timers 详解
- Node.js的模块机制
- node.js的模块管理
- Node.js 的 http 模块
- Node.js的模块机制
- HTTP/1.1协议的curl 返回 HTTP/1.1 100 Continue 加上header 加上body
- hivesql优化技巧之一 mapjoin
- JavaScript知识点
- 单链表逆序
- VisualStateManager
- node.js 的核心模块
- D31 Spark的checkpoint/sql/dataframe
- MySQL中tinytext、text、mediumtext和longtext详解
- 激光雷达行人检测翻译(1)
- ES6 函数的几个特性
- [iOS]xib中UILabel的Attributed属性介绍
- 【太虚AR_v0.1】使用教程 | 云识别(视频播放)
- 千年不遇的物理天才
- PAT A 1112. Stucked Keyboard (20)