NodeJs概述

Node.js是一个能够将JavaScript代码在服务器端执行的解释器,其特点是事件驱动和异步处理。程序通过事件循环机制进行事件源检查,避免阻塞主线程。同步调用直接返回结果,而异步调用则使用回调函数处理系统调用后的返回数据。此外,Node.js支持模块化,如使用require导入自定义或系统模块。Express框架简化了HTTP请求的监听和处理,利用中间件进行功能扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NodeJs 其实就是一个解释器能够将JS文件转换成系统调用,进而可在服务器上执行

nodeJs特色:
1、事件驱动方式     
程序执行采用事件循环机制,由一个进程process不停的Event Loop去在事件队列寻找事件源,无事件源时程序退出


2、异步函数调用  (即无返回值,参数中有一个回调函数,将返回结果回调函数的参数中)

当碰到js引擎无法执行的操作,新开一个进程进行系统调用,返回结果放入事件源队列等待Loop处理
比如要获取文件结果的操作不能直接使用像Java那样直接赋值,因为文件操作缓慢会把主线程阻塞,而应该给该函数再传入一个带参回调函数,参数用来接收返回的数据

同步调用:直接执行返回得到结果
异步调用:执行不能直接得到结果,需要重新开一个进程进行监听,将结果返回到回调函数的参数中

ps: 创建server是一个同步调用,而server监听请求是一个异步的调用。所以有个语法糖,在创建server的时候就传入一个监听请求的回调函数,这样格式像是创建服务器也是异步操作。

const http = require("http");
let server = http.createServer(function (req, res) {  //request和response
 
    // 服务器收到浏览器web请求后,打印一句话
    console.log("recv req from browser");
 
    // 服务器给浏览器回应消息 
    res.end("hello browser");
});
 
server.listen(3000);

模块:

  require(./Mymath) 引入自己的文件模块,而从npm等引入的系统模块不需要./

express框架:

    express其实就是一个函数,是别人已经写好的httpRequest的监听函数,帮助我们方便的处理请求。可通过中间件机制来进行扩展,中间件可以自己写,也可从npm库中引用。

中间件详细参考:https://blog.youkuaiyun.com/huang100qi/article/details/80220012#commentBox

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值