OnceIO(Node.JS)的网页(模板)的引用与嵌套


发布者 ourjs  发布时间 1479171486710
关键字 JS学习  Node.JS 

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

OnceIO 提供将一个网页文件嵌套在另一个网页文件中的机制。文件嵌套与模板引擎无关,语法固定为 <!--#include="path"--> ,其中 path 为文件相对路径,引号必须为双引号,中间不能有空格。以 index.html 的代码为例:

<html>
<body>
  <!--#include="header.html"--> 
  <div> 
    Main content 
  </div>
  <!--#include="footer.html"--> 
</body>
</html>

这段代码将 header.html 和 footer.html 两个网页文件嵌套在 index.html 中。用户访问 index.html 时,header.html 和 footer.html 也会被同时加载,其中的元素将显示在网页的相应位置。

header.html 代码为:

<div>
  <center>
    Header
  </center>
  <hr>
</div>

footer.html 代码为:

<div class='footer'>
  <hr>
  <center>
    Footer
  </center>
</div>

index.html 显示效果为:

indexhtml

嵌套的层数理论上是没有限制的,被嵌套网页也能嵌套其它网页,但互相循环嵌套可能会造成问题。例如,如果在 header.html 中嵌套 index.html,而index.html又嵌套了header,则index.html 显示效果为:  

 indexhtml

使用网页嵌套时,服务器需要时间加载所有被嵌套网页,因此用户第一次访问时浏览器可能无法显示被嵌套网页的内容,刷新后才能显示完整网页,OnceIO 内置的 preload 方法能解决这个问题。对当前目录下的 html 后缀的文件使用 preload 的示例代码如下:

app.preload('.', '.html')

preload 的第一个参数是相对路径,示例中的 '.' 代表 home 路径,home 是 OnceIO 应用程序的一个属性,它的值可以在定义应用程序时设置,默认值为 './',即当前目录;第二个参数是文件类型,示例中的 '.html' 代表 html 后缀的网页文件。

使用 preload 后,服务器会提前加载网页文件并将其缓存在服务器内存中,用户第一次访问时无需刷新即可看到完整网页。

 

OnceIO项目: https://github.com/OnceDoc/onceio

 









 热门文章 - 分享最多
  1. GitHub2016报告AngularJS流行度下降,JavaScript活跃度为Java两倍
  2. 在 2016 年学 JavaScript 是一种什么样的体验?
  3. 2016年收入最高的5个编程语言,JavaScript最流行,Java和C没在前5
  4. 传言GITHUB正在寻求第二轮融资,或面临估值下降、清算或被微软收购
  5. Java 之父求职被嫌年纪大,硅谷公司现在喜欢“小鲜肉”,不爱“老古董”
  6. NodeJS中的Middleware是什么?在OnceIO中创建和使用中间件
  7. OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现
  8. OnceIO(Node.JS)的静态文件路由(app.static)
  9. NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制
  10. 用OnceIO(NodeJS)搭建简单的web服务器

 相关阅读
  1. OnceIO(NodeJS)中的服务器端缓存、模板预加载和静态资源文件的缓存和Gzip压缩机制
  2. NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制
  3. OnceIO(Node.JS)的路由(Routing)、路由方法和路由变量
  4. Node.JS的表单提交及OnceIO中接受GET/POST数据的三种方法
  5. OnceIO(Node.JS)中安装、使用和更换doT、EJS、pug等模板引擎
  6. OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现
  7. NodeJS中的Middleware是什么?在OnceIO中创建和使用中间件
  8. 用OnceIO(NodeJS)搭建简单的web服务器
  9. JavaScript函数式编程(一、二、三)
  10. JavaScript在物联网中的应用

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

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

OnceOA