Node.js 是一个基于 Chrome V8 引擎的 J*aScript 运行时环境,使 JS 能在服务器端运行;它非语言也非框架,而是提供 fs、http 等 API 的执行平台,核心为单线程+事件驱动+非阻塞 I/O,支持统一语言栈与庞大 npm 生态。

Node.js 是一个基于 Chrome V8 引擎的 J*aScript 运行时环境
,它让 J*aScript 能在服务器端运行,而不仅限于浏览器。 它不是一门语言,也不是框架,而是一个能让 JS 脱离浏览器、直接操作文件、网络、进程等系统资源的执行平台。
传统上 JS 只在浏览器里跑,靠浏览器提供的 API(比如 document、alert)工作。Node.js 把 JS 引擎(V8)单独拎出来,再配上自己实现的一套服务器级 API(如 fs 读写文件、http 创建服务器、path 处理路径),就构成了一个完整的后端运行环境。
它的核心特点是:
安装 Node.js 后(去 nodejs.org 下载安装),新建一个文件 server.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello from Node.js!');
});
server.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});
终端里执行:node server.js
打开浏览器访问 http://localhost:3000,就能看到响应。
说明:
require('http') 是加载 Node 内置的 HTTP 模块createServer 接收一个回调函数,每次有请求进来就会触发res.end() 发送响应并结束这次请求listen() 让服务器监听指定端口原生 http 模块太底层,一般项目会用框架。Express 是最流行的轻量级 Web 框架:
GemDesign
AI高保真原型设计工具
652
查看详情
先初始化项目:
mkdir myapp && cd myapp<br>npm init -y<br>npm install express
然后写 app.js:
const express = require('express');<br>const app = express();<br><br>app.get('/', (req, res) => {<br> res.send('Welcome to Express!');<br>});<br><br>app.get('/api/users', (req, res) => {<br> res.json([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]);<br>});<br><br>app.listen(3000, () => {<br> console.log('Server is running on http://localhost:3000');<br>});
运行:node app.js
现在访问 / 和 /api/users 就能拿到不同响应,支持路由、JSON 输出、中间件等常见功能。
写服务端 JS 和写前端 JS 有几个重要区别:
window、document、localStorage —— 这些是浏览器专属global(类似浏览器的 window)、__dirname、process、require 等 Node 特有全局变量和 APIrequire/module.exports),不是浏览器的 ES Module(虽然新版 Node 也支持 import)基本上就这些。不复杂但容易忽略——关键是理解 Node.js 是“让 JS 跑在服务器上的环境”,而不是 JS 本身变了。
以上就是j*ascript的Node.js是什么_如何用js编写服务器端代码?的详细内容,更多请关注其它相关文章!
相关文章:
J*aScript Promise链中如何正确终止后续.then执行并处理错误
AO3同人作品网入口 AO3搜索引擎官网永久地址
大麦的“候补”是什么意思 大麦候补购票规则【详解】
HTML空白字符处理机制:渲染、DOM与编码实践
《明末:渊虚之羽》设计师谈设计角色:那会刚毕业 充满激情
天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】
基于多条件高效更新SQL表:利用CASE表达式优化业务逻辑
基于动态规划的房屋花卉种植最小成本算法详解
Lar*el Form Request 中唯一性验证更新操作的正确实践
Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址
Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项
c++如何使用chrono库处理时间_c++标准库时间与日期操作
《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!
实现分段式页面滚动导航:CSS与J*aScript教程
漫蛙漫画网页端入口 漫蛙2官方正版漫画站点
Excel Power Pivot如何处理XML数据源 构建高级数据模型
拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法
优化Lar*el Docker镜像:Composer与PHP版本控制策略
品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程
PHP实现即时文章发布与单次数据库写入:自提交模式教程
解决PHP会话Cookie在跨域请求中不保留的问题
MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景
cad如何更改注释性对象的比例_cad注释性比例调整方法
漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
如何将HTML表格多行数据保存到Google Sheet
怎样使用“本地安全策略”提升Windows安全性_Secpol.msc配置指南【高手】
PHP 枚举:根据字符串获取枚举案例的策略与实现
百度网盘网页版入口 百度网盘网页版官方登录网址
深入理解J*aScript Promise异步执行与微任务队列
J*aScript map 迭代中检测空数组元素的有效方法
多闪网页版在线观看免费入口_多闪官网访问入口
mysql如何分析事务日志_mysql事务日志分析方法
利用5118提升短视频内容效果_5118短视频关键词优化方法
高德地图公交到站提醒失败如何解决 高德提醒权限设置
解决PHP集成HTML后CSS和图片路径加载问题的指南
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】
虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画
韩剧圈正版入口页面_韩剧圈官网登录链接
韩小圈电脑版在线入口_网页版免费登录地址
c++20的std::jthread是什么_c++可中断线程与RAII式管理
漫蛙2漫画入口 漫蛙正版网页漫画直达网址
Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性
mcjs网页版在线存档 mcjs云存档登录入口
在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明
响应式容器内容自动缩放与宽高比维持教程
消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技
优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践
Composer如何在生产环境安全地执行composer update