Express の Hello World

本文介绍了如何在Node.js中使用Express创建一个简单的HelloWorld应用,包括`express()`函数的作用、`app.get()`方法的路由配置和`listen()`函数的端口监听。重点讲解了HTTP路径的处理和回调函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记给自己 Express の Hello World

Express是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。如果用 Node.js 开发后端,大概率离开不了 Express。虽然现在有很多优秀的框架,如 Egg.js 出现,学习 Express 了解一些基本的底层的 HTTP 知识很是很必要。

Hello World

要使用 Express 需要先安装 Express。创建文件夹 node, 运行下面的命令安装 Express

npm install express@4.17.1

node 文件夹下创建 express 文件夹,在 express 下创建 helloworld.js
在这里插入图片描述
下面是 helloworld.js 的内容

let express = require('express');
let app = express();

app.get('/', function (req, res) {
  console.log('hello, world');
  res.send('hello, world');
});

app.listen(3000, function () {
  console.log('server started.');
});

之后,在express路径下运行node helloworld.js。并访问 http://localhost:3000,
在这里插入图片描述
在这里插入图片描述

理解 Hello World

express()

上面的代码都什么意思呢。第一行我就懒得记了

let app = express();

express() 创建一个 Express 应用,这是一个由 express 模块暴露的顶级函数。这是什么意思呢,意思就是如果你将导入的模块名改成 springBoot 那么代码还是可以运行😀

let springBoot = require('express');
let app = springBoot();

哈哈哈,这是因为 express 模块暴露出来的就是一个函数。下面是node_modules/express/lib/express.js的代码

/**
 * Expose `createApplication()`.
 */
exports = module.exports = createApplication;

get()

app.get('/', function (req, res) {
  console.log('hello, world');
  res.send('hello, world');
});

get()方法将GET请求路由到指定路径,并调用指定的回调函数。这个方法的原型是
app.get(path, callback [, callback ...])。第一个参数就是路由的地址,即GET的请求路径。🤨你可能会问,我请求的不是http://localhost:3000吗?为什么代码里是/呢?
在这里插入图片描述
打开控制面板,就一目了然了。看似访问的是http://localhost:3000,实际上是http://localhost:3000/
get()方法的第一个参数是path。这个参数可以是字符串,也可以是正则,还可以是数组。默认是/,表示根路径。即便请求根路径,第一个参数也不能不写哦!⚠

如果用户访问时,什么路径也不输(http://localhost:3000)或者输(http://localhost:3000/index)我们都想返回hello, word怎么办呢?试试这样写

app.get(['/', '/index'], function (req, res) {
  console.log('hello, world');
  res.send('hello, world');
});

关于正则等更多写法,可以参考☞这里

接着来看 get() 方法的第二个参数callback回调函数。回调函数接收 2 个参数(🔈3个参数等下说)这 2 个参数就是大名鼎鼎的requestresponse。在代码中出现的 send() 方法表示发送HTTP响应。

res.send('hello, world');

那冒出来的第三个参数是干什么的?next
express模块允许我们对同一个请求,设置不同的回调函数,这些回调函数就通过next调用,接着上面的例子。虽然访问根路径//index都返回相同的内容,但是我们像当访问根路径时特别地做些处理,就可以这样写

app.get('/', function (req, res, next) {
  console.log('我是根路径哦');
  next(); // 下一个回调函数
});
app.get(['/', '/index'], function (req, res) {
  console.log('hello, world');
  res.send('hello, world');
});

在这里插入图片描述

listen()

这个函数指定的就是express程序监听的端口。如果端口被忽略或者是0,操作系统就会分配一个任意未被使用的端口。
同样可以指定城许监听的主机,如下

app.listen(3000, '127.0.0.1', function () {
  console.log('server started.');
});

也可以在回调函数里接收错误信息。因为3306已经被本机的mysql占用,所以启动失败listen EACCES: permission denied 127.0.0.1:3306

app.listen(3306, '127.0.0.1', function (err) {
  if (err) {
    console.log('启动异常', err);
  }
  console.log('server started.');
});

好了,这就是express的 Hello World 全部内容。下一次计划写get请求的部分。加油💪!!!!

好的,以下是使用 Express 框架生成 "Hello World" 的示例代码: 首先,确保你已经安装了 Node.jsExpress 框架。然后,创建一个新的文件夹,打开终端并进入该文件夹,执行以下命令: ``` npm init -y npm install express ``` 接下来,在该文件夹中创建一个名为 `app.js` 的文件,并将以下代码复制到该文件中: ``` const express = require('express') const app = express() app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(3000, () => { console.log('Server started on port 3000') }) ``` 代码解释: 首先,我们引入了 Express 模块并创建了一个实例 `app`。 `app.get()` 方法指定了当客户端访问根路由(即 `'/'`)时要执行的代码,该方法接受两个参数: - 第一个参数是路由路径,即 `'/'`。 - 第二个参数是一个回调函数,该回调函数接受两个参数:`req` 和 `res`,分别表示客户端请求和服务器响应。在这个回调函数中,我们使用 `res.send()` 方法向客户端发送一条消息,即 `'Hello World!'`。 最后,我们使用 `app.listen()` 方法指定服务器要监听的端口号,该方法接受两个参数: - 第一个参数是要监听的端口号,即 `3000`。 - 第二个参数是一个回调函数,该回调函数在服务器成功启动时执行。 现在,我们可以在终端中运行以下命令启动服务器: ``` node app.js ``` 如果一切正常,你应该可以在浏览器中访问 `http://localhost:3000` 并看到 "Hello World!" 的消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值