OnceIO(Node.JS)的静态文件路由(app.static)


发布者 ourjs  发布时间 1478163742977
关键字 大话编程  分享 

OnceIO是OnceDoc企业内容(网盘)系统的底层Web框架,它可以实现模板文件、静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本。它可以让你对Web进行分布式存储,即一个扩展包里即可包含前端、后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展。这里是介绍如何使用OnceIO的一系列文章。

 

为了提供静态资源,比如图像、CSS 文件和 JavaScript 文件等,可以将这些资源放在专门的文件夹中,然后用 app.static('folder') 将文件夹设置为 static 模式,使其中的资源可以直接被提供,而不参与中间件、Handler、会话、POST 和 Cookie,以达到节约带宽、减少延迟和降低服务器压力的目的。示例代码如下:

app.static('css')
app.static('js')
app.static('img')
app.static('icon')
app.static('fonts')
app.static('/*/css')
app.static('/*/js')
app.static('/*/img')
app.static('/*/icon')
app.static('/*/fonts')

 

app.static() 效果演示

以下示例代码对根文件夹使用了 app.static(),因此在默认端口访问 localhost 时,中间件和 Handler 将不被执行:(app.static('/') 在此处仅作为示例使用,实际应用中,为避免本应执行的中间件、Handler 被跳过等问题,app.static() 的参数通常不会是根文件夹,而是专门存放静态资源的文件夹,如 '/css'、'/js'、'/img' 等)

app.static('/')

app.use(function(req, res) {
  console.log('MIDDLEWARE')
  req.filter.next()
})

app.get('/', function(req, res) {
  res.send('HANDLER')
}

运行服务器,在默认端口访问 localhost,浏览器显示 “Access forbidden!”,console 窗口效果如下:

 static  console

如果去掉 app.static('/'),进行相同操作,浏览器显示 “HANDLER”,console 窗口效果如下:

 static  console

 

 

 OnceIO地址:  https://github.com/OnceDoc/onceio

 

上一篇: OnceIO(Node.JS)的路由(Routing)、路由方法和路由变量

下一篇:OnceIO(Node.JS)中安装、使用和更换doT、EJS、pug等模板引擎









 热门文章 - 分享最多
  1. 阿里任性Hr开除月饼极客:这样冰冷的公司没什么值得我留恋
  2. GitHub2016报告AngularJS流行度下降,JavaScript活跃度为Java两倍
  3. 在 2016 年学 JavaScript 是一种什么样的体验?
  4. 2016年收入最高的5个编程语言,JavaScript最流行,Java和C没在前5
  5. 传言GITHUB正在寻求第二轮融资,或面临估值下降、清算或被微软收购
  6. JavaScript函数式编程(一、二、三)
  7. Java 之父求职被嫌年纪大,硅谷公司现在喜欢“小鲜肉”,不爱“老古董”
  8. NodeJS中的Middleware是什么?在OnceIO中创建和使用中间件
  9. OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现
  10. 用OnceIO(NodeJS)搭建简单的web服务器

 相关阅读
  1. 乌云和漏洞盒子停业整顿—可能与国内“白帽子”黑客圈高度关注的“袁炜事件”有关
  2. 如日中天的Uber究竟使用什么开发语言?
  3. 微软降低OneDrive的免费存储空间容量,个人云存储热度减退
  4. 一个程序员是如何搞挂NPM和Node社区的
  5. 程序bug导致了天大的损失,要枪毙程序猿吗?
  6. NodeJS初学者教程:Node.js之HTTP
  7. 谷歌人工智能AlphaGo挑战人类围棋冠军
  8. 美国程序员低价雇中国人替其编程被解雇
  9. 关于App程序员泡沫
  10. IBM宣布向Node.js基金会捐赠Express Framework

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA