1. express.static()
express 提供了一个非常好用的函数,叫做 express(), 通过它,我们可以非常方便的创建一个静态资源服务器
例如:通过如下代码就可以将 code 目录下的图片,CSS文件,JavaScrip文件对外访问了
// 导入 Express
const express = require('express')
// 创建服务器
const app = express()
// 使用 express.static() 快速对外提供静态资源
app.use(express.static('./code'))
// 启动服务器
app.listen(80, () => {
console.log('server run at http://127.0.0.1')
})
现在,就可以访问呢 code 目录中的所有文件了
http://127.0.0.1/index.html
http://127.0.0.1/index.js
http://127.0.0.1/index.css
注意:express.static() 在指定的静态目录查找文件,并对外提供资源的访问路径,因此,存放静态文件的目录名不会出现在 URL 中
2. 托管多个静态资源目录
方法:如果要托管多个静态资源目录,就要多次调用 express.static() 函数
注意:访问静态资文件时,express.static() 函数会根据目录的添加顺序查询所所需的文件
简单来说:就是如果有两个静态资源目录中都有 index.html 时,就会查询到先添加的静态资源目录中的 index.html,就是写在前面的静态资源目录
代码展示:
// 导入 Express
const express = require('express')
// 创建服务器
const app = express()
// 使用 express.static() 快速对外提供静态资源
app.use(express.static('./test'))
app.use(express.static('./code'))
// 启动服务器
app.listen(80, () => {
console.log('server run at http://127.0.0.1')
})
上述代码会展示 test 目录中的资源
// 导入 Express
const express = require('express')
// 创建服务器
const app = express()
// 使用 express.static() 快速对外提供静态资源
app.use(express.static('./code'))
app.use(express.static('./test'))
// 启动服务器
app.listen(80, () => {
console.log('server run at http://127.0.0.1')
})
上述代码会展示 code 目录中的资源
3. 挂载路径前缀
如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式
// 导入 Express
const express = require('express')
// 创建服务器
const app = express()
// 使用 express.static() 快速对外提供静态资源
app.use('/code',express.static('./code'))
// 启动服务器
app.listen(80, () => {
console.log('server run at http://127.0.0.1')
})
现在,就可以访问通过带有/code 前缀地址来访问 code 目录中的文件里了
http://127.0.0.1/code/index.html
http://127.0.0.1/code/index.js
http://127.0.0.1/code/index.css
注意:挂载路径的前缀最好写静态资源目录的名字,容易区分,便于理解