使用 Express.js 开发 Web 应用的详细过程

阅读时长 7 分钟读完

Express.js 是一款流行的 Node.js Web 应用框架,由于其简单易用、高效快捷,受到了广大开发者的青睐。在本文中,我们将详细介绍如何使用 Express.js 开发 Web 应用,并给出实际示例代码,帮助读者更好地理解和应用该框架。

安装与初始化

在使用 Express.js 开发 Web 应用之前,需要先安装 Node.js 环境。安装完成后,我们可以通过 npm 命令进行 Express.js 的安装,具体操作如下:

安装完成后,我们可以创建一个 Express.js 项目,具体步骤如下:

  1. 在命令行中进入项目目录。

  2. 执行以下命令,生成 package.json 文件:

    在初始化过程中,需要输入项目名称、版本号、描述等信息。

  3. 执行以下命令,生成初始的 Express.js 目录:

    如果提示找不到 npx 命令,需要先更新 npm 版本:

  4. 在 Express.js 目录下,执行以下命令,安装依赖包:

至此,我们已经成功创建了一个 Express.js 项目,可以在其基础上进行 Web 应用的开发了。

路由与处理请求

在使用 Express.js 开发 Web 应用时,我们需要定义路由规则,以处理不同的请求。Express.js 支持多种路由方式,包括基于 HTTP 请求方法(如 GET、POST 等)、URL 参数、正则表达式等。

以下是一个简单的路由示例,用于处理 GET 请求:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------

------------ ----- ---- -- -
  --------------- --------
--

---------------- -- -- -
  ------------------- -- --------- -- -----------------------
--

上述代码中,app.get 方法用于定义 GET 请求的路由规则,当用户访问根 URL(/)时,会执行回调函数并返回“Hello World!”。app.listen 方法用于指定服务器监听的端口和地址。

除了 GET 请求,我们还可以使用 app.postapp.putapp.delete 等方法定义各种 HTTP 请求方法的路由规则。

中间件

中间件(Middleware)是 Express.js 框架中的一个重要概念,指的是在请求处理过程中,先执行一个或多个处理函数(Middleware),再执行路由处理函数的机制。

Express.js 框架内置了大量的中间件,同时也支持自定义中间件。以下是一个简单的自定义中间件示例,用于记录请求处理的时间:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------

------------- ---- ----- -- -
  ----- ----- - ----------
  ------
  ----- --- - ----------
  -------------------- ----- ----- - ----------
--

------------ ----- ---- -- -
  --------------- --------
--

---------------- -- -- -
  ------------------- -- --------- -- -----------------------
--

上述代码中,app.use 方法用于定义一个中间件,该中间件会记录请求处理的开始和结束时间,最后在控制台输出请求处理的时间。next() 方法用于执行下一个处理函数,即处理路由请求的回调函数。

模板引擎

在 Web 应用中,经常需要将动态数据渲染到 HTML 页面中。Express.js 提供了支持多种模板引擎的功能,帮助我们方便地进行页面渲染。

以下是一个使用 ejs 模板引擎的示例,用于渲染动态数据:

-- -------------------- ---- -------
----- ------- - ------------------
----- --- - ---------
----- --- - --------------

------------- -------- ------

------------ ----- ---- -- -
  ----- ---- - -
    ------ ------ -------
    -------- ----- -- - ------- ---- --------- -- ------------
  -
  ------------------- -----
--

---------------- -- -- -
  ------------------- -- --------- -- -----------------------
--

上述代码中,app.set 方法用于设置模板引擎为 ejs,res.render 方法用于渲染动态数据并返回 HTML 页面。在 ejs 模板文件中,我们可以使用 <% %> 标签来嵌入动态数据。

静态文件服务

在 Web 应用中,经常需要加载静态资源文件,如 CSS、JavaScript、图片等。为了方便快捷地加载这些文件,Express.js 提供了一种静态文件服务(Static Files Service)的功能,支持加载本地文件夹中的静态资源文件。

以下是一个加载本地图片文件的示例:

-- -------------------- ---- -------
----- ------- - ------------------
----- ---- - ---------------
----- --- - ---------

------------------ ----------------------------------- --------- -----------

---------------- -- -- -
  ------------------- -- --------- -- -----------------------
--

上述代码中,express.static 方法用于指定静态文件所在的文件夹路径,并将其绑定到 /images 路径上。当用户访问/images 路径时,会加载该文件夹中的静态资源文件。

数据库连接

在 Web 应用中,经常需要连接到数据库中,以访问、读取和修改数据。Express.js 支持多种数据库连接方式,包括 MySQL、MongoDB、PostgreSQL、SQLite 等。

以下是一个使用 MySQL 数据库的示例:

-- -------------------- ---- -------
----- ------- - ------------------
----- ----- - ----------------
----- --- - ---------
----- ---------- - ------------------------
  ----- ------------
  ----- -------
  ----- -------
  --------- ---------
  --------- ------
--

--------------------

------------ ----- ---- -- -
  ------------------------ - ---- ------- ------- -------- ------- -- -
    -----------------
  --
--

---------------- -- -- -
  ------------------- -- --------- -- -----------------------
--

上述代码中,通过 mysql.createConnection 方法创建了一个 MySQL 数据库连接,并使用 connection.query 方法执行 SQL 查询语句,返回查询结果,并将其作为响应发送给客户端。

总结

通过以上示例,我们可以看到使用 Express.js 开发 Web 应用的详细过程。在实际开发中,还可以结合其他框架和工具,进一步提高开发效率和功能扩展性。希望本文对读者学习 Express.js 框架有一定的指导意义,并在实际应用中发挥作用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648a979648841e98948b675f

纠错
反馈