如何使用 Express 交付 HTML 文件

介绍

Node.jsExpress应用程序中,res.sendFile()可用于传递文件。当您需要提供静态页面的解决方案时,使用 Express 交付 HTML 文件会很有用。

注意:在 Express 4.8.0 之前,res.sendfile()支持。此小写版本res.sendFile()已被弃用。

在本文中,您将学习如何使用res.sendFile().

先决条件

要完成本教程,您需要:

本教程已通过 Node v16.0.0、npmv7.11.1 和expressv4.17.1 验证。

步骤 1 – 设置项目

首先,打开终端窗口并创建一个新的项目目录:

  • mkdir express-sendfile-example

然后,导航到新创建的目录:

  • cd express-sendfile-example

此时,您可以初始化一个新的 npm 项目:

  • npm init -y

接下来,您需要安装express软件包:

  • npm install express@4.17.1

此时,您已准备好使用 Express 的新项目。

创建一个新server.js文件并使用代码编辑器打开它:

服务器.js
const express = require('express');

const app = express();
const port = process.env.PORT || 8080;

// sendFile will go here

app.listen(port);
console.log('Server started at http://localhost:' + port);

重新访问您的终端窗口并运行您的应用程序:

  • node server.js

在验证您的项目按预期工作后,您可以使用res.sendFile().

第 2 步 – 使用 res.sendFile()

server.js使用您的代码编辑器重新访问并添加path,.get()res.sendFile()

服务器.js
const express = require('express');
const path = require('path');

const app = express();
const port = process.env.PORT || 8080;

// sendFile will go here
app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, '/index.html'));
});

app.listen(port);
console.log('Server started at http://localhost:' + port);

当向服务器发出请求时,会提供一个index.html文件。

创建一个新index.html文件并使用代码编辑器打开它:

索引.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Sample Site</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  <style>
    body { padding-top: 50px; }
  </style>
</head>
<body>

  <div class="container">
    <div class="jumbotron">
      <h1>res.sendFile() Works!</h1>
    </div>
  </div>

</body>
</html>

此代码将显示消息:res.sendFile() Works!

注意:本教程使用BootstrapCDN进行样式设置,但这不是必需的。

保存您的更改。然后,再次打开终端窗口并重新运行服务器。

  • node server.js

在服务器运行的情况下,http://localhost:8080在 Web 浏览器中访问

显示消息的 Web 浏览器中 index.html 的屏幕截图: res.sendFile() 有效!

您的应用程序现在用于res.sendFile()提供 HTML 文件。

结论

在本文中,您学习了如何使用res.sendFile().

通过学习使用 Express 4.0 路由器如何使用 Express检索 URL 和 POST 参数继续学习

觉得文章有用?

点个广告表达一下你的爱意吧 !😁