使用express.static中间件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用express.static中间件相关的知识,希望对你有一定的参考价值。

以下两个代码在localhost:3000 /服务器启动时提供index.html

使用express.static

const path = require('path');
const express = require('express'); 
const PORT = process.env.port || 3000;
const publicPath = path.join(__dirname, '../public');

var app = express();
app.use(express.static(publicPath));
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
})

使用app.get

const path = require('path');
const express = require('express');
const PORT = process.env.port || 3000;
const publicPath = path.join(__dirname, '../public');

var app = express();

app.get('/',(req,res) => {
  res.sendFile(publicPath + '/index.html');
})

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
})

那么为什么有人会选择express.static而不是app.get来提供静态html文件。什么是static中间件用于快递

答案

不使用express.static will的代码在提供非index.html的任何其他静态页面时失败,即使index.html包含其他静态文件(作为css)也会失败。

以上是关于使用express.static中间件的主要内容,如果未能解决你的问题,请参考以下文章

node框架express里面静态文件中间件express.static,根据路径名查找文件

Express static 托管静态文件 理解

nodejs实现静态托管

理解Express express.static 和 __direname 及 __firename的含义

Node.js Express js在较大文件上提供静态文件的速度非常慢

Express框架概述