当前位置:首页 > 后端 > node > 正文内容

在 Express 中提供静态文件

放牧的风3年前 (2018-12-14)node163

为了提供诸如图像、CSS 文件和 JavaScript 文件之类的静态文件,请使用 Express 中的 express.static 内置中间件函数。

将包含静态资源的目录的名称传递给 express.static 中间件函数,以便开始直接提供这些文件。例如,使用以下代码在名为 public 的目录中提供图像、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(__dirname + '/public'));


扫描二维码推送至手机访问。

版权声明:本文由放牧的风发布,如需转载请注明出处。

本文链接:https://grazingwind.com/post/27.html

分享给朋友:
返回列表

没有更早的文章了...

下一篇:PM2部署nodejs项目

相关文章

CentOS 7下使用n工具更新Node.js

一、通过npm全局安装n工具npm install -g n二、使用n安装Node.js1. n安装说明n #列出已安装的Node.js版本 n latest #安装最新版本(包...

Node.js对SQLite的async/await封装

用于将每个SQLite函数同步化,并可以用await的接口。注意:需要SQLite for Node模块和Node.js 8.0+,并支持async / await。SQLite最常用作本地或移动应用程序的存储单元,当需要从程序的各个部分访...

基于node和puppeteer的ssr订阅自动更新

1.基本说明:本项目采用node结合puppeteer,自动化采集、更新SSR订阅地址。Puppeteer是一个Nodejs的库,支持调用Chrome的API来操纵Web,相比较Selenium或是PhantomJs,它最大的特点就是它的操...

pm2日志切割 - pm2-logrotate

pm2日志切割 - pm2-logrotate

使用pm2-logrotate进行pm2日志切割,测试是按照文件大小1k切割;安装pm2 install pm2-logrotate设置 重启pm2 set pm2-logrotate:max_siz...

PM2部署nodejs项目

PM2部署nodejs项目

如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的。再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。使用场合:supervisor是...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。