项目知识——“Node.js 让 JavaScript 摆脱了只能运行在浏览器中的限制

HTTP 服务器是什么?

HTTP 服务器 就是一个持续运行的程序,它:

  1. 监听网络端口(通常是 80 或 443)

  2. 接收浏览器发来的 HTTP 请求(如访问网页、提交表单)

  3. 处理请求(读取文件、查询数据库等)

  4. 返回 HTTP 响应(HTML、JSON、图片等)

简单说,它就像餐厅里的服务员:随时待命,顾客(浏览器)点餐(发请求),服务员向后厨(服务器资源)下单,最后把菜(响应内容)端上桌。


JavaScript 的"困境":为什么原来只能在浏览器跑?

浏览器中的 JavaScript 就像被关在一个沙盒监狱里:

  • 能做的事 :操作网页内容(DOM)、发网络请求(Ajax)、用浏览器提供的 API(如 localStorage

  • 绝对不能做的事 :直接读写本地文件、监听网络端口、创建进程等系统级操作

因为浏览器为了安全,严格限制了它的权限。JavaScript 解释器(如 V8)是嵌在浏览器里的,离开浏览器这个宿主环境,代码就无法执行。


Node.js 的破局:把 JavaScript"搬到"服务器

Node.js 做了两件革命性的事:

  1. 把 V8 引擎从浏览器里"抠"出来

Node.js 直接把 Chrome 的 V8 引擎(JavaScript 解释器)独立打包 ,让它能在操作系统上直接运行,不再依赖浏览器。

  1. 给 JavaScript 装上"手脚"(系统 API)

Node.js 提供了一套C++ 编写的底层模块 (如 fshttpnet),把操作系统的文件、网络、进程等能力封装成 JavaScript 函数

javascript 复制代码
// 在服务器上监听 3000 端口(以前绝对做不到!)
const http = require('http');
const fs = require('fs');

http.createServer((req, res) => {
  // 直接读写服务器硬盘文件
  const content = fs.readFileSync('./index.html');
  res.end(content);
}).listen(3000);

本质区别

维度 浏览器 JavaScript Node.js JavaScript
宿主环境 浏览器 操作系统
权限 沙盒限制,只有 Web API 完整系统权限,可直接操作硬件资源
用途 操纵网页、用户交互 构建服务器、CLI 工具、桌面应用
全局对象 window global

Node.js 不是新语言,它只是给 JavaScript 换了个"操作系统级"的运行环境,让它从"网页脚本"变成了"通用编程语言",所以原来只能在浏览器跑的代码,现在能直接在服务器上监听端口、处理请求了。

相关推荐
万敏11 小时前
Vue3 全栈实战:第一阶段复盘(第1-8周)
vue.js·node.js·全栈
濮水大叔13 小时前
舒服了,CabloyJS 的 AI Spec 驱动开发会自动生成甘特图和燃尽图
typescript·node.js·vibecoding
FungLeo15 小时前
成为全栈·Node 后端篇·部署上线:从本地起服到真正对外服务
node.js·后端部署·成为全栈
妙码生花19 小时前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
柚稚姐姐19 小时前
npm install pnpm -g npm error code EACCES npm error syscall symlink
前端·npm·node.js
FungLeo2 天前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
WeiXin_DZbishe2 天前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
xixiaoyunya2 天前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
晴天162 天前
npm install -f(--force)深度解析:作用原理、报错根源与风险避坑指南
前端·npm·node.js
还是大剑师兰特2 天前
Swagger 在 Node.js 项目中的安装和完整使用方法
node.js