返回 node.js...... 登陆

node.js 的核心模块

阿神 2016-11-07 10:40:31 539

在后台开发语言中,比如Java、C#。他们都是隐含模块化的,Node.js默认帮我们提供了模块化这种机制。  在服务器端,我们想要使用底层的一些功能需要导入一些“包”来对其操作,比如操作文件、网络需要导入对应的包。其它语言中都是基于类来实现的模块化的思想,使用类来组织文件和文件之间的关联。  而Node.js中使用的是JavaScript语言,ECMAScript仅仅规定了基本的语法的书写,并没有规定文件之间 关联,也就是说每个js文件之间是独立的,Node.js已经帮我们实现了js文件之间的关联(模块化)  Node.js中的模块化是基于CommonJS规范的
JavaScript的局限性

那么接下来看一下核心模块

今天接触到的核心模块:

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 obj = querystring.parse("version=1.0&time=123");
  console.log(obj);

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 obj = querystring.parse("version=1.0&time=123");
  console.log(obj);

stringify() 把一个对象转换成一个字符串

escape() url进行编码

unescape() url进行解码

那么核心模块存在哪里呢,

核心模块存储在node.exe中,当node.exe运行的时候,核心模块会被加载,require的时候会加载到内存

在github上可以找到源代码,lib文件夹下

核心模块的执行速度比较快


最新手记推荐

• 用composer安装thinkphp框架的步骤 • 省市区接口说明 • 用thinkphp,后台新增栏目 • 管理员添加编辑删除 • 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消 回复 发送
  • PHP中文网