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

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让 JavaScript 能在服务器端运行,而不仅限于浏览器。 它不是一门语言,也不是框架,而是一个能让 JS 脱离浏览器、直接操作文件、网络、进程等系统资源的执行平台。
为什么 JS 能在服务端跑了?
传统上 JS 只在浏览器里跑,靠浏览器提供的 API(比如 document、alert)工作。Node.js 把 JS 引擎(V8)单独拎出来,再配上自己实现的一套服务器级 API(如 fs 读写文件、http 创建服务器、path 处理路径),就构成了一个完整的后端运行环境。
它的核心特点是:
单线程 + 事件驱动 + 非阻塞 I/O:适合高并发、I/O 密集型任务(比如处理大量用户请求、文件读写、数据库查询) 统一语言栈:前后端都用 JS,减少上下文切换成本 庞大的生态:npm 是全球最大的包管理器,几乎什么功能都有现成模块
写一个最简单的 HTTP 服务器
安装 Node.js 后(去 nodejs.org 下载安装),新建一个文件 server.js:
立即学习“Java免费学习笔记(深入)”;
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() 让服务器监听指定端口
更实用:用 Express 快速搭 Web 服务
原生 http 模块太底层,一般项目会用框架。Express 是最流行的轻量级 Web 框架:
先初始化项目:
mkdir myapp && cd myapp
npm init -y
npm install express
然后写 app.js:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Express!');
});
app.get('/api/users', (req, res) => {
res.json([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]);
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
运行:node app.js
现在访问 / 和 /api/users 就能拿到不同响应,支持路由、JSON 输出、中间件等常见功能。
关键点提醒
写服务端 JS 和写前端 JS 有几个重要区别:
没有 window、document、localStorage —— 这些是浏览器专属 有 global(类似浏览器的 window)、__dirname、process、require 等 Node 特有全局变量和 API 模块系统用的是 CommonJS(require/module.exports),不是浏览器的 ES Module(虽然新版 Node 也支持 import) 文件操作、数据库连接、环境变量读取等都靠 Node 提供的模块完成
基本上就这些。不复杂但容易忽略——关键是理解 Node.js 是“让 JS 跑在服务器上的环境”,而不是 JS 本身变了。
以上就是javascript的Node.js是什么_如何用js编写服务器端代码?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1541567.html
微信扫一扫
支付宝扫一扫