这个 express 变量在做啥?
Posted
技术标签:
【中文标题】这个 express 变量在做啥?【英文标题】:What is this express variable is doing?这个 express 变量在做什么? 【发布时间】:2020-12-29 21:59:06 【问题描述】:我最近开始学习 JS,之前我是基本的编程背景,但一直停留在 OOP 概念上。
所以这里我们导入我认为是通过写需要的express模块(express)。但我不明白为什么我们将它存储在一个变量中。
同样,然后将 express() 存储在 app 变量中,然后使用 app 变量做一些事情。
我的意思是这是如何工作的?此代码块中的内容是什么?请详细说明。
提前致谢。
const express = require('express')
const createReadStream = require('fs')
const app = express()
app.get('/' , (req,res) =>
createReadStream('index.html').pipe(res)
)
【问题讨论】:
为什么要在变量中存储一些东西?多次使用它而无需创建另一个实例的必要开销。 如果我处于你的位置,如果不学习 OOPS 和 javascript 中的一些基本编程,我就不会学习 express JS。这是基本的 express JS,您实际上是在要求我们向您解释一章。强烈建议你尝试一些基本的 JS。例如,去这里 - developer.mozilla.org/en-US/docs/Learn/Server-side 【参考方案1】:第 1 行:导入使用 npm i express
安装的 express 节点模块并将其存储在常量 (const) 中。
第 2 行:从 node.js 的文件系统模块(fs 模块)导入函数或变量createReadStream
,并使其可用于该文件。
第 3 行,您将上述 express 模块中的 express()
函数分配给名为 app
的常量,因此您现在可以在 app
常量上使用与 express 相关的所有内容。
第 4-5 行:您使用存储在 app
常量中的 express() 函数中的 get
方法,并为您的应用程序的基本 url 创建路由 /(例如 domain.com/ 或本地主机:8000/)。如果您从服务器请求某些内容,您将发送一个 GET 请求。例如,如果您在 POST 或 PUT 中发送一些数据,那么app
中的 express() 函数也有这些方法供您使用(例如 app.post)。
当 Postman 或使用浏览器的普通用户使用 GET 请求访问您的域(路由)的这一部分时,第 4 行 (req, res) => 上的箭头函数会启动。它接收请求 (req)和结果(res)参数,因此您可以根据需要使用函数内部的参数。例如,在 req 参数上,您可以使用用户从表单中发送的正文中的任何内容。在您的情况下,您的路由通过 http 将 html 文件流回用户,以便在用户的浏览器中显示它。
【讨论】:
以上是关于这个 express 变量在做啥?的主要内容,如果未能解决你的问题,请参考以下文章