这两个express.static()方法的区别在于它们寻找静态文件的位置。
app.use(express.static(__dirname + '/public'))
:
__dirname
是Node.js中的一个全局变量,表示当前模块所在的目录的绝对路径。app.use(express.static('public'))
:
下面是一个示例代码,演示了如何使用这两种方式来设置静态文件的位置:
const express = require('express');
const app = express();
// 使用__dirname + '/public'
app.use(express.static(__dirname + '/public'));
// 使用'public'
app.use(express.static('public'));
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
假设你的项目结构如下:
- project
- server.js
- public
- index.html
当你访问http://localhost:3000/index.html时,无论你使用哪种方式,express都会在public文件夹中查找并返回index.html文件。