资讯专栏INFORMATION COLUMN

Express 文档(静态文件)

PiscesYE / 1270人阅读

摘要:要使用多个静态资源目录,请多次调用中间件函数按照使用中间件函数设置静态目录的顺序查找文件。注意为获得最佳结果,请使用反向代理缓存来提高服务静态资源的性能。

静态文件

要提供静态文件(如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

上一篇:路由基础 下一篇:常见问题

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108855.html

相关文章

  • node.js 自建简易服务

    摘要:废话先不多说代码就是如下这么简单指定目录下面这个是参考文档里的写法访问路径写到一起了创建服务端启动服务器完成然后执行就可以启动服务器了就是上面配置所保存的文件名上面用的是用的话就更简单不需要自己写配置直接用命令就可以启动了如果你的 废话先不多说,代码就是如下这么简单. var express = require(express) var app = express() app.us...

    BaronZhang 评论0 收藏0
  • Express 文档express())

    摘要:方法此中间件在及更高版本中可用。由于的形状基于用户控制的输入,因此该对象中的所有属性和值都是不可信的,应该在信任之前进行验证。注意为获得最佳结果,请使用反向代理缓存来提高服务静态资源的性能。 express() 创建一个Express应用程序,express()函数是express模块​​导出的顶级函数。 var express = require(express); var app ...

    oysun 评论0 收藏0
  • node Express 框架

    哈。github的地址已经更换,求starthttps://github.com/mySoul8012 继续~Express框架 简单介绍一下 Express事实上Node内置的http模块上构建的一层抽象。理论上所有Express实现的功能都能用Node实现核心特征; 设置中间件响应http请求 定义路由表,执行不同的http请求 先模板传递参数,来动态的渲染html文件 一些网址 npm的...

    supernavy 评论0 收藏0
  • XBlog: Vue+Express+Mongodb的全栈可扩展的完整博客系统

    摘要:注册成功后会返回注册用户的此就是上面说到的,用于用户登陆的基础,请保管好。 地址 https://github.com/billyhoomm...http://blog.billyhu.com 说明(Instructions) 本项目后台基于express、mongodb,前台基于Vue2.0全家桶、bootstrap、scss预编译器以及一众工具类插件 项目前后台代码在同一个目录中...

    Salamander 评论0 收藏0
  • XBlog: Vue+Express+Mongodb的全栈可扩展的完整博客系统

    摘要:注册成功后会返回注册用户的此就是上面说到的,用于用户登陆的基础,请保管好。 地址 https://github.com/billyhoomm...http://blog.billyhu.com 说明(Instructions) 本项目后台基于express、mongodb,前台基于Vue2.0全家桶、bootstrap、scss预编译器以及一众工具类插件 项目前后台代码在同一个目录中...

    banana_pi 评论0 收藏0

发表评论

0条评论

PiscesYE

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<