第3节 Node.js 创建第一个应用

article/2025/8/22 23:59:01

Node.js 非常强大,只需动手写几行代码就可以构建出整个HTTP服务器。事实上,我们的Web应用以及对应的Web服务器基本上是一样的。

在我们创建Node.js第一个"Hello, World!"应用前,让我们先了解下Node.js应用是由哪几部分组成的:

  1. 引入模块(required):我们可以使用require指令来载入Node.js模块。

  2. 创建服务器:服务器可以监听客户端的请求,类似于Apache 、Nginx等HTTP服务器。

  3. 接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送HTTP请求,服务器接收请求后返回响应数据。


创建 Node.js 应用

步骤一、引入required模块

我们使用require指令来载入http模块,并将实例化的HTTP赋值给变量http,实例如下:

var http = require("http");

步骤二、创建服务器

接下来我们使用http.createServer()方法创建服务器,并使用listen方法绑定8888端口。 函数通过request, response参数来接收和响应数据。

实例如下,在你本地计算机中创建一个文件项目,并在这个文件项目中的根目录下创建一个叫server.js的文件,并写入以下代码:

如下项目截图所示:

2

server.js的文件代码如下:

var http = require('http');
http.createServer(function (request, response) {// 发送 HTTP 头部 // HTTP 状态值: 200 : OK// 内容类型: text/plainresponse.writeHead(200, {'Content-Type': 'text/plain'});// 发送响应数据 "Hello World"response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

以上代码我们完成了一个可以工作的HTTP服务器。

在文件中打开Powershell窗口如下所示:

2

之后在执行下面的命令既可:

node server.js
Server running at http://127.0.0.1:8888/

3

接下来,打开浏览器访问http://127.0.0.1:8888/,你会看到一个写着"Hello World"的网页。

1

分析Node.js的HTTP服务器:

  • 第一行请求(require)Node.js自带的 http 模块,并且把它赋值给http变量。
  • 接下来我们调用http模块提供的函数:createServer 。这个函数会返回 一个对象,这个对象有一个叫做listen的方法,这个方法有一个数值参数,指定这个HTTP服务器监听的端口号。

Gif 实例演示

接下来我们通过Gif图为大家演示实例操作:

1


http://www.hkcw.cn/article/mFYHFlYwnb.shtml

相关文章

余承东:ADS 4今年Q4实现高速L3商用,展望2026年L4

2025(第三届)未来汽车先行者大会于5月31日至6月1日在深圳国际会展中心(宝安)举行,华为常务董事、终端BG董事长余承东在会上发表了演讲。余承东在演讲中提到ADS的进展和展望。他表示,尊界S800首发搭载了ADS 4,并预计从2025年第三季度开始,尊界S800等车型将升级到ADS 4。…

Redis实战-基于redis和lua脚本实现分布式锁以及Redission源码解析【万字长文】

前言: 在上篇博客中,我们探讨了单机模式下如何通过悲观锁(synchronized)实现"一人一单"功能。然而,在分布式系统或集群环境下,单纯依赖JVM级别的锁机制会出现线程并发安全问题,因为这…

【本周开启】Springer |第七届区块链、人工智能和可信系统国际会议(BlockSys‘2025)

Springer |第七届区块链、人工智能和可信系统国际会议(BlockSys2025) International Conference on Blockchain, Artificial Intelligence, and Trustworthy Systems 中国 珠海 2025年05月30日-2025年05月31日 大会官网:BlockSys2025 – Int…

PCIE硬件管脚顺序问题解决方案

当你的硬件设计的管脚顺序不对,或者tx/rx的顺序搞反了,您发现你在自己工程的XDC中对管脚进行分配,布线通不过,或者布过去了,上位机不能识别,这个是由于综合工具默认是就近原则,使用自定义生成的…

生成https 证书步骤

一、OpenSSL下载 OpenSSL下载地址: https://slproweb.com/products/Win32OpenSSL.html 如果电脑是64位的就选择64位的 二、OpenSSL安装 双击打开.exe文件 开始安装,一直下一步,不过需要注意的是默认安装路径是C盘,可更改到其他盘…

Baklib内容中台革新企业知识实践

Baklib智能知识中枢构建 作为现代企业知识管理的核心架构,Baklib内容中台通过整合多源异构数据形成智能化知识中枢,实现从信息采集到价值转化的全链路管理。其底层采用跨平台数据贯通技术,支持API接口与企业现有CRM、ERP系统无缝对接&#x…

第六十三节:深度学习-模型推理与后处理

深度学习模型训练完成后,如何高效地将其部署到实际应用中并进行准确预测?这正是模型推理与后处理的核心任务。OpenCV 的 dnn 模块为此提供了强大支持,本文将深入探讨 OpenCV 在深度学习模型推理与后处理中的关键技术与实践。 第一部分:基础概念与环境搭建 1.1 核心概念解析…

【CF】Day71——⭐Codeforces Round 892 (Div. 2) D (二分 + 思维 + 差分模拟区间合并)

D. Andrey and Escape from Capygrad 题目: 思路: 很有思维的一题,非常nice 题目给了我们一个很有意思的条件,如果 x 在 l[i] ~ r[i] 之间,那么就可以跳跃到 a[i] ~ b[i] 之间,那么一个很显然的想法&#…

C#集合循环删除某些行

你想要在遍历集合(例如List)的同时删除某些元素时,直接在循环中删除元素可能会导致问题,因为这可能会改变集合的大小和导致索引问题; 可以用for循环的倒序来删除; 如果要删除满足特定条件的所有元素&…

fpga系列 HDL : FPGA实现奇数倍分频

偶分频 //240个时钟周期翻转一次输出&#xff0c;这实际上是一个 480倍分频器 reg [7:0] counter 0; reg divided_clk 1b0; always (posedge clk) beginif (counter 239) begin // 240counter < 0;divided_clk < ~divided_clk; end else begincounter < counter 1…

ICML 2025 Spotlight | 机器人界的「Sora」!让机器人实时进行未来预测和动作执行!

标题&#xff1a;Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations 作者&#xff1a;Yucheng Hu, Yanjiang Guo, Pengchao Wang, Xiaoyu Chen, Yen-Jen Wang, Jianke Zhang, Koushil Sreenath, Chaochao Lu, Jianyu Chen 机构&am…

「 扑翼飞行器 」悬停飞行的信号串联滤波器设计

一、前言 小白在设计扑翼飞行器悬停算法过程中,设计了三种滤波器串联使用,总结如下。 二、正文 陷波滤波器 (Notch @30 Hz) 目的:针对扑翼机构或传感系统中常见的机械谐振或结构共振噪声进行有源抑制。 工作原理:在归一化频率 (假设采样率 , HZ)处设计一个陷波(notch)…

RL 基础 (待补充)

注&#xff1a;本文仅用于自学习笔记备忘&#xff0c;不做任何分享和商业用途。 主要参考资料&#xff1a; 蘑菇书EasyRLA (Long) Peek into Reinforcement Learning | LilLog 第1章 强化学习基础 RL算法分类&#xff1a; Model-based: Rely on the model of the environm…

Redis7底层数据结构解析

redisObject 在 Redis 的源码中&#xff0c;Redis 会将底层数据结构&#xff08;如 SDS、hash table、skiplist 等&#xff09;统一封装成一个对象&#xff0c;这个对象叫做 redisObject&#xff0c;也简称 robj。 typedef struct redisObject {unsigned type : 4; // 数…

Kafka 的 ISR 机制深度解析:保障数据可靠性的核心防线

在 Kafka 的消息处理体系中&#xff0c;数据的可靠性和高可用性是至关重要的目标。而 ISR&#xff08;In-Sync Replicas&#xff0c;同步副本&#xff09;机制作为 Kafka 实现这一目标的关键技术&#xff0c;在消息复制、故障容错等方面发挥着核心作用。接下来&#xff0c;我们…

cusor无限续杯

githut开源网址&#xff1a;https://github.com/yuaotian/go- 敲黑板下面是主要步骤和注意事项&#xff01; step1:cursor软件退出登录 step2:cursor网页端删除账号 step3:运行命令&#xff08;注意&#xff1a;用管理员身份运行windows powershell&#xff0c;不能用cmd&…

360浏览器设置主题

设置默认主题&#xff1a; 1.右上角有个皮肤按钮 进来后&#xff0c;右边有个回复默认皮肤按钮。 换成彩色皮肤后&#xff0c;找按钮不太好找了。

DAY 17 常见聚类算法

目录 DAY 17 常见聚类算法1.聚类的指标2.聚类常见算法&#xff1a;kmeans聚类、dbscan聚类、层次聚类3.三种算法对应的流程作业&#xff1a; 对心脏病数据集进行聚类。 DAY 17 常见聚类算法 import seaborn as sns from sklearn.decomposition import PCA from sklearn.prepro…

MySQL存储架构深度解析:从引擎选型到云原生实践(2025最新版)

引言 在数字经济时代&#xff0c;MySQL作为全球使用最广泛的关系型数据库&#xff0c;其存储技术直接影响着全球70%以上互联网企业的数据处理能力。2025年云原生数据库市场规模预计突破$50B&#xff0c;而MySQL存储引擎的选型与优化仍是DBA的核心课题。本文将结合最新行业实践…

Cesium快速入门到精通系列教程

一、打造第一个Cesium应用 1、官方渠道下载Cesium&#xff08;可选择历史版本&#xff09; ​​GitHub Releases页面​​ 访问 Cesium GitHub Releases&#xff0c;此处列出了所有正式发布的版本。 通过标签&#xff08;如 v1.95.0&#xff09;选择目标版本&#xff0c;下载…