node.js中的模块知识总结

node.js中是通过模块来划分为单位来划分所有功能的。每个模块为一个js文件。每个模块中定义的全局变量或函数的作用范围也被限制在这个模块中,只能用exports对象将其传递到外部。

exports.printFoo=function(){return "foo"};
//使用exports对象使模块外部可以使用这个函数

在引用模块时,使用require。

var foo=require('./foo.js');
//通过foo.js路径引用foo.js
console.log(foo.printFoo();
//访问foo.js内的printFoo函数

表 node.js v0.10版中的核心模块

模块名模块功能Stability(稳定度)
assert为应用程序的单元测试添加断言处理5-Locked(今后不会修改)
buffer用于实现二进制的数据存储与转换3-Stable(稳定)
child_process用于实现子进程的创建与管理3-Stable(稳定)
cluster用于实现多进程1-Experimenntel(实验性阶段)
console用于控制台输出信息4—API Frozen(今后API部分不会被修改)
crypto用于实现数据加密解密处理2-Unstable(不稳定)
debugger用于实现一个内置调试器来帮助开发者调试应用程序3-Stable(稳定)
dns用于实现与DNS相关处理3-Stable(稳定)
domain用于实现多个I/O之间的协作处理2-Unstable(不稳定)
events用于为事件处理实现一个基础类4—API Frozen(今后API部分不会被修改)
fs用于操作文件及文件系统3-Stable(稳定)
http用于实现http服务器端和客户端3-Stable(稳定)
https用于实现https服务器端与客户端3-Stable(稳定)
net用于创建TCP服务器和客户端3-Stable(稳定)
os用于获取操作系统信息4—API Frozen(今后API部分不会被修改)
path用于处理文件路径3-Stable(稳定)
punycode用于实现Punycode字符串的编码及解码2-Unstable(不稳定)
querystring用于处理http请求中使用的查询字符串3-Stable(稳定)
readline用于读取一行标准输入流2-Unstable(不稳定)
repl用于实现REPL(Read-Eval-Print——Loop)交互式运行环境(无)
stream用于为流的输入/输出处理提供一个基础类2-Unstable(不稳定)
string_decoder用于实现从二进制数据到字符串数据之间的转换3-Stable(稳定)
tls用于使用OpenSSL来实现TLS/SSL通信处理3-Stable(稳定)
tty用于获取来自于TTY终端的信息2-Unstable(不稳定)
url用来实现URL字符串的解析和格式化3-Stable(稳定)
util用于实现各种实用函数5-Locked(今后不会修改)
vm用于为JavaScript脚本提供一个独立的运行环境2-Unstable(不稳定)
zlib内部使用zlib类来实现数据的压缩和解压处理3-Stable(稳定)

在node.js中,可以直接使用require函数并将模块名设置为require函数的参数值得方法来引用这些模块

var http=require('http');
//这样就可使用http变量来访问http模块中的属性和方法

表 Node.js中追加的类、函数和对象

类、函数和对象名描述
Buffer类用于为二进制数据的存储提供一个缓冲区
setTimeout函数用于在指定时间到达时执行一个指定函数,指定方法为从当前时刻之后的多少毫秒
clearTimeout函数用于取消setTimeout函数的执行
setInterval函数用于指定每个多少时间执行一次指定的函数
clearInterval函数用来取消setInterval函数的执行
require 函数用于加载模块
module对象用于访问模块信息
process对象用于访问进程信息

除了可以使用内置模块之外,也可通过各种第三方模块的安装对node.js现有功能的拓展。

一个简单的示例应用程序

//app.js

var http=require('http');  //使用http变量引用http模块
//createServer创建用于接收http客户端请求并返回响应的http服务器应用程序
//createServer 中定义了响应的回调函数,函数有两个参数:第一个代表客户端请求对象,第二个代表服务器端所作出的响应对象
//writeHead 书写响应头
//write 书写一段HTML代码
//*.end 输出一行HTML代码并结束响应流
//.listen 监听端口及地址
http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type':'text/html'});
    res.write('<head><meta charset="utf-8"/></head>');
    res.end('你好\n');
}).listen(1337,"127.0.0.1");
console.log('Server running at http://127.0.0.1:1337');

在命令行窗口中运行app.js

node app.js

运行

在浏览器中输入 127.0.0.1:1337

运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js是一个建立在谷歌V8引擎的运行环境,用于解析和执行JavaScript代码。它使得JavaScript不再局限于浏览器环境,可以在后端创建动态数据。\[1\]严格来说,Node.js不是一个框架,而是一个平台。它的技术栈包括核心模块、框架(如Express、KOA)、模板引擎(如Pug、EJS)、编译型CSS(如Lass/Sass/Stylus)和数据库(如MongoDB、MySQL)等。\[2\] Node.js的基础知识包括了如何执行另一个模块的功能。例如,在一个模块使用require函数引入另一个模块,然后可以调用该模块的功能。例如,如果有一个b.js模块和一个first.js模块,可以在first.js模块使用require('./b')来引入b.js模块,并调用其的功能。执行node first.js即可运行该程序。\[3\] #### 引用[.reference_title] - *1* [【入门级基础】Node基础知识总结](https://blog.csdn.net/pakerder/article/details/125191636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [node.js基础知识](https://blog.csdn.net/weixin_45459904/article/details/107508639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值