当前栏目
node.js是干什么的
一、Node.js简介
Node.js是一个开源和跨平台的JavaScript运行时环境。它几乎是任何类型项目的流行工具!
Node.js在浏览器之外运行V8 JavaScript引擎(Google Chrome的内核)。这使得Node.js的性能非常好。
Node.js应用程序在单个程序中运行,无需为每个请求创建新的线程。Node.js在其标准库中提供了一组异步的I/O原语,以防JavaScript代码阻塞,通常,Node.js中的库是使用非阻塞范式编写的,使得阻塞行为成为异常而不是常态。
Node.js具有独特的优势,因为数百万为浏览器编写的JavaScript的前端开发者现在无需学习完全不同的语言,就可以编写除客户端代码之外的服务器端代码。
①浏览器中的js
web api提高了操作浏览器窗口和页面的功能。例如:BOM操作,DOM操作,AJAX这些功能有局限性。例如:跨域问题,文件读写
②Node中的js
nodeAPI几乎提供了所有能做的事情
③ Node中的JS对比浏览器中的JS
浏览器提供了有限的能力,JS只能使用浏览器提供的功能做有限的操作
Node提供了完整的控制计算机的能力,NodeJS几乎可以通过Node提供的接口,实现对整个操作系统的控制。
二、Node可以做什么
①开发桌面应用程序
例如QQ、微信... 经常用的VScode就是用node开发的
②开发服务器应用程序
结构1:微型结构
Node服务器要完成请求的处理、响应和数据交互、关注业务逻辑
结构2:大型结构
Node服务器
不做任何与业务逻辑有关的事情。绝大部分时候,只是简单的转发请求。但可能会有一些额外的功能
1.简单的信息记录:请求日志、用户偏好、广告信息
2.静态资源托管
3.缓存
后端服务器
处理大型的业务逻辑
三、为什么要学习NodeJS
1..JS开发省时,省力
2. 因为nodeJS是单线程,没有线程切换的损耗,没有线程之间的竞争。
3. IO处理非常快
4. node不适合处理复杂运算,例如java可以开多线程进行并行运算
其他服务端语言(例如java,.net)能做的事情,node全部都能做。语言没有好坏之分,只有场景的适合。
node开发者就是为了寻找快速的IO处理的语言,所以选择了JavaScript
- 关注我,后面继续发表更多底层知识哦!
相关文章
- 别再用ls、cat命令了,这有一套全新升级版,简洁快速还易上手
- 鸿蒙HarmonyOS三方件开发指南(20)-Dialog组件
- 聊聊生成水印原理与插件编写
- Cout和Printf,选择哪个更好?
- Redisson 分布式锁源码之二:看门狗
- 抓包就明白CoreDNS域名解析
- JavaScript 异步编程指南 — 解决方案 Async/Await
- JS 中的函数表达式和函数声明你混淆了吗?
- 使Vue开发如鱼得水的 VS Code 扩展
- 前端百题斩之赋值、浅拷贝、深拷贝大PK
- Vue 2和Vue 3中应该知道的属性创建差异
- 前端自动化测试:测试到底测什么?
- 用JavaScript实现一个编译器
- 巧技拾遗 | JavaScript 中 Array.every 和 Array.map 的巧妙结合
- 浅析Vue响应系统原理与搭建Vue2.x迷你版
- Cube.js:试试这个新的数据分析开源工具
- 一篇文章带你了解JavaScript日期
- 单点登录的三种实现方式
- 如何用Hugo快速部署静态网站?
- 【vite】你不知道的小妙招,确定不看一下吗?