📜  express 静态服务 - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:40.368000             🧑  作者: Mango

Express 静态服务 - JavaScript

Express 提供了静态文件服务来快速展示 Web 应用中的页面、样式和脚本等静态资源,这是 Web 应用中必不可少的服务之一。

安装和使用

要在 Express 应用中使用静态文件服务,需要先安装 express 模块:

npm install express --save

安装完毕后,可以直接使用 Express 提供的 static 方法来创建静态文件服务。下面是一个简单的例子:

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

// 静态文件服务
app.use(express.static('public'));

// 启动服务器
app.listen(3000, () => {
  console.log('Server running on port 3000.');
});

在上面的例子中,我们使用 express.static 方法来定义一个静态文件服务。参数 public 指定了静态文件的目录名称(可以是相对路径或绝对路径),当用户访问服务器的根目录时,Express 会自动返回 public 目录下的文件内容。

如果要访问 public 目录下的 main.js 文件,可以通过访问 http://localhost:3000/main.js 来获取该文件的内容。

自定义静态服务

express.static 方法允许我们自定义一些参数来进行静态文件服务的配置,下面是一些常用的配置参数:

  • maxAge: 设置静态文件的缓存时间(单位为毫秒)。默认为 0,表示不缓存,建议在生产环境中设置该项,以提升 Web 应用的性能。
  • etag: 设置是否启用缓存验证,默认为 true,表示启用。可以通过设置为 false 来禁用缓存验证。
  • lastModified: 设置是否启用修改时间验证,默认为 true,表示启用。可以通过设置为 false 来禁用修改时间验证。

下面的例子演示了如何使用自定义参数来创建静态文件服务:

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

// 自定义静态文件服务
app.use(express.static('public', { maxAge: 86400000, etag: false }));

// 启动服务器
app.listen(3000, () => {
  console.log('Server running on port 3000.');
});

在上面的例子中,我们设置了静态文件缓存时间为 86400000 毫秒(即 24 小时),并且禁用了缓存验证。这样可以在生产环境中以最优化的方式提供静态文件。

总结

Express 静态文件服务是 Web 应用中常用的服务之一,可以提高 Web 应用的性能和用户体验,也方便了开发者的工作。通过使用 express.static 方法,可以快速创建一个静态文件服务,并通过自定义参数来灵活地配置静态文件服务的行为。