查看“Node.js:工具模块”的源代码
←
Node.js:工具模块
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Node.js]] == 关于 == 在 Node.js 模块库中有很多好用的模块。 几种常用模块的使用: # '''OS''' 模块:提供基本的系统操作函数。 # '''Path''' 模块:提供了处理和转换文件路径的工具。 # '''Net''' 模块:用于底层的网络通信。提供了服务端和客户端的的操作。 # '''DNS''' 模块:用于解析域名。 # '''Domain''' 模块:简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的。 == OS 模块 == Node.js os 模块提供了一些基本的'''系统操作函数'''。 可以通过以下方式引入该模块: '''<syntaxhighlight lang="bash" highlight=""> var os = require("os") </syntaxhighlight>''' === 方法 === {| class="wikitable" ! 命令 !! 描述 |- | os.tmpdir() || 返回操作系统的默认临时文件夹。 |- | os.endianness() || 返回 CPU 的字节序,可能的是 "BE" 或 "LE"。 |- | os.hostname() || 返回操作系统的主机名。 |- | os.type() || 返回操作系统名 |- | os.platform() || 返回编译时的操作系统名 |- | os.arch() || 返回操作系统 CPU 架构,可能的值有 "x64"、"arm" 和 "ia32"。 |- | os.release() || 返回操作系统的发行版本。 |- | os.uptime() || 返回操作系统运行的时间,以秒为单位。 |- | os.loadavg() || 返回一个包含 1、5、15 分钟平均负载的数组。 |- | os.totalmem() || 返回系统内存总量,单位为字节。 |- | os.freemem() || 返回操作系统空闲内存量,单位是字节。 |- | os.cpus() || 返回一个对象数组。 包含所安装的每个 CPU/内核的信息: # 型号、 # 速度(单位 MHz)、 # 时间(一个包含 user、nice、sys、idle 和 irq 所使用 CPU/内核毫秒数的对象)。 |- | os.networkInterfaces() || 获得网络接口列表。 |} === 属性 === {| class="wikitable" ! 命令 !! 描述 |- | os.EOL || 定义了操作系统的行尾符的常量。 |} === 示例 === 创建 main.js 文件: <syntaxhighlight lang="bash" highlight=""> var os = require("os"); // CPU 的字节序 console.log('endianness : ' + os.endianness()); // 操作系统名 console.log('type : ' + os.type()); // 操作系统名 console.log('platform : ' + os.platform()); // 系统内存总量 console.log('total memory : ' + os.totalmem() + " bytes."); // 操作系统空闲内存量 console.log('free memory : ' + os.freemem() + " bytes."); </syntaxhighlight> 代码执行结果如下: <syntaxhighlight lang="bash" highlight=""> $ node main.js endianness : LE type : Linux platform : linux total memory : 25103400960 bytes. free memory : 20676710400 bytes. </syntaxhighlight> == Path 模块 == Node.js path 模块提供了一些用于'''处理文件路径'''的小工具。 可以通过以下方式引入该模块: '''<syntaxhighlight lang="bash" highlight=""> var path = require("path") </syntaxhighlight>''' === 方法 === {| class="wikitable" ! 命令 !! 描述 |- | path.'''normalize'''(p) || 规范化路径,注意'..' 和 '.'。 |- | path.'''join'''([path1][, path2][, ...]) | 用于连接路径。 该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是"\"。 |- | path.'''resolve'''([from ...], to) | '''将 to 参数解析为绝对路径''',给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:/foo、/bar、baz,则调用 path.resolve('/foo', '/bar', 'baz') 会返回 /bar/baz。 <syntaxhighlight lang="bash" highlight=""> path.resolve('/foo/bar', './baz'); // 返回: '/foo/bar/baz' path.resolve('/foo/bar', '/tmp/file/'); // 返回: '/tmp/file' path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'); // 如果当前工作目录为 /home/myself/node, // 则返回 '/home/myself/node/wwwroot/static_files/gif/image.gif' </syntaxhighlight> |- | path.'''isAbsolute'''(path) || '''判断参数 path 是否是绝对路径'''。 |- | path.'''relative'''(from, to) | 用于'''将绝对路径转为相对路径''',返回从 from 到 to 的相对路径(基于当前工作目录)。 在 Linux 上: <syntaxhighlight lang="bash" highlight=""> path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'); // 返回: '../../impl/bbb' </syntaxhighlight> 在 Windows 上: <syntaxhighlight lang="bash" highlight=""> path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'); // 返回: '..\\..\\impl\\bbb' </syntaxhighlight> |- | path.dirname(p) || 返回路径中代表文件夹的部分,同 Unix 的dirname 命令类似。 |- | path.basename(p[, ext]) || 返回路径中的最后一部分。同 Unix 命令 bashname 类似。 |- | path.extname(p) | 返回路径中文件的后缀名,即路径中最后一个'.'之后的部分。 * 如果一个路径中并不包含'.'或该路径只包含一个'.' 且这个'.'为路径的第一个字符,则此命令返回空字符串。 |- | path.parse(pathString) || 返回路径字符串的对象。 |- | path.format(pathObject) || 从对象中返回路径字符串,和 path.parse 相反。 |} === 属性 === {| class="wikitable" ! 命令 !! 描述 |- | path.sep || 平台的文件路径分隔符,'\\' 或 '/'。 |- | path.delimiter || 平台的分隔符, ; or ':'. |- | path.posix || 提供上述 path 的方法,不过总是以 posix 兼容的方式交互。 |- | path.win32 || 提供上述 path 的方法,不过总是以 win32 兼容的方式交互。 |} === 示例 === 创建 main.js 文件: <syntaxhighlight lang="bash" highlight=""> var path = require("path"); // 格式化路径 console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..')); // 连接路径 console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..')); // 转换为绝对路径 console.log('resolve : ' + path.resolve('main.js')); // 路径中文件的后缀名 console.log('ext name : ' + path.extname('main.js')); </syntaxhighlight> 代码执行结果如下: <syntaxhighlight lang="bash" highlight=""> $ node main.js normalization : /test/test1/2slashes/1slash joint path : /test/test1/2slashes/1slash resolve : /web/com/1427176256_27423/main.js ext name : .js </syntaxhighlight> == Net 模块 == {| class="wikitable" ! 命令 !! 描述 |- | | |- | | |} == DNS 模块 == {| class="wikitable" ! 命令 !! 描述 |- | | |- | | |} == Domain 模块 == {| class="wikitable" ! 命令 !! 描述 |- | | |- | | |}
返回至“
Node.js:工具模块
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息