javascript,// 引入http模块,var http = require('http');,,// 创建http server,并传入回调函数:,http.createServer(function (request, response) {, // 回调函数接收request和response对象,, // 获得客户端请求的URL, console.log(request.url);, // 定义http响应状态码为200,内容类型为text/plain, response.writeHead(200, {'ContentType': 'text/plain'});, // 把http响应的内容写入到response对象中, response.end('Hello World,');,}).listen(8125); // 在8125端口监听,
“,,这个模板创建了一个简单的 HTTP 服务器,监听在8125端口。当有请求到达时,它会在控制台打印出请求的 URL,并向客户端返回 “Hello World”。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Node.js 基础
Node.js 安装
在 Windows 和 MacOS 上安装 Node.js 非常简单,只需访问 [Node.js官网](https://nodejs.org/) 并下载适合你操作系统的安装程序即可,对于 Linux 用户,推荐通过包管理器(如 apt for Ubuntu, yum for CentOS)来安装 Node.js。
Ubuntu sudo aptget install nodejs CentOS sudo yum install nodejs
Node.js REPL
REPL(ReadEvalPrint Loop) 是 Node.js 的交互式 shell,可以通过在命令行中输入node
进入。
node > console.log('Hello World!'); Hello World!
Node.js 文件执行
Node.js 主要用于执行 JavaScript 文件,创建一个 .js 文件并在命令行中使用node
命令来运行。
// hello.js console.log('Hello World!');
node hello.js Hello World!
Node.js 模块系统
Node.js 有一个强大的模块系统,允许你编写可重用的代码片段,模块可以通过require()
函数导入。
// math.js exports.add = (a, b) => a + b; exports.multiply = (a, b) => a * b;
// app.js const math = require('./math.js'); console.log(math.add(2, 3)); // 输出 5 console.log(math.multiply(2, 3)); // 输出 6
Node.js 事件循环和回调函数
Node.js 的设计是基于事件循环的,这使得异步编程变得简单,回调函数常用于处理异步操作完成时的情况。
const fs = require('fs'); fs.readFile('/some/file', 'utf8', (err, data) => { if (err) throw err; console.log(data); });
Node.js HTTP服务器
使用 Node.js 内置的http
模块可以快速创建一个简单的 HTTP 服务器。
const http = require('http'); const server = http.createServer((req, res) => { res.end('Hello World!'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
Node.js Stream API
Node.js 提供了 Stream API,用于处理流式数据,如文件读写、网络请求等。
const fs = require('fs'); const readStream = fs.createReadStream('/some/file'); const writeStream = fs.createWriteStream('/another/file'); readStream.pipe(writeStream);
Node.js 模板
以下是一个简单的 Express 应用模板:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(Server running at http://localhost:${port}/
);
});
相关问题与解答
Q1: Node.js 适用于哪些类型的项目?
A1: Node.js 非常适合IO密集型和高并发的项目,如Web服务、API服务、实时应用(如聊天应用)、单页面应用的后端等,由于其非阻塞I/O特性,它能够高效地处理大量并发连接。
Q2: 如何更新 Node.js 版本?
A2: 你可以使用 nvm(Node Version Manager)轻松切换和管理多个 Node.js 版本,或者直接从 Node.js 官网下载最新版本进行安装,如果你之前是通过包管理器安装的 Node.js,你也可以使用包管理器来更新版本,在 Ubuntu 上可以使用以下命令更新:
sudo aptget update sudo aptget install latestnodejs
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/920667.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复