Express 文档(静态文件)

静态文件

要提供静态文件(如images、CSS文件和JavaScript文件),请使用Express中的express.static内置中间件功能,函数签名是:

express.static(root, [options])

root参数指定从中提供静态资源的根目录,有关options参数的更多信息,请参阅express.static

例如,使用以下代码在名为public的目录中提供images、CSS文件和JavaScript文件:

app.use(express.static('public'))

现在,你可以加载public目录中的文件:

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Express会查找相对于静态目录的文件,因此静态目录的名称不是URL的一部分。

要使用多个静态资源目录,请多次调用express.static中间件函数:

app.use(express.static('public'))
app.use(express.static('files'))

Express按照使用express.static中间件函数设置静态目录的顺序查找文件。

注意:为获得最佳结果,请使用反向代理缓存来提高服务静态资源的性能。

要为express.static函数提供的文件创建虚拟路径前缀(文件系统中实际不存在路径),请为静态目录指定挂载路径,如下所示:

app.use('/static', express.static('public'))

现在,你可以从/static路径前缀加载public目录中的文件。

http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html

但是,你提供给express.static函数的路径是相对于启动node进程的目录,如果从另一个目录运行express应用程序,则使用要提供的目录的绝对路径更安全:

app.use('/static', express.static(path.join(__dirname, 'public')))

有关serve-static函数及其选项的更多详细信息,请参阅serve-static


上一篇:路由基础
下一篇:常见问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值