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


发布人 张春亮  发布时间 1479130400491
关键字 OnceIO  Node.JS 

 

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 显示效果为:

index.html 显示效果

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

互相嵌套时 index.html 显示效果

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

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

app.pre('.', '.html')

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

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

 

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

 示例源码:  https://github.com/OnceDoc/OnceAcademy/tree/master/Lesson10

 

 





回复 (0)
  • #
 近期最热
  1. OnceVI前后端分离的数据可视化报表工具简介
  2. OnceIO(Node.JS)中的模板引擎是什么及MVC设计模式的使用与实现
  3. OnceIO(Node.js)模块拦截与注入:模板文件路由重定向与Model数据改写
  4. OnceIO(Node.JS)的网页(模板)的引用与深层嵌套
  5. OnceIO(Node.JS)模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块
  6. 传言Github正在寻求第二轮融资,或面临估值下降、清算或被微软收购
  7. 如何搭建个人SASS云盘:30秒快速安装OnceDoc企业私有网盘
  8. 在OnceIO(Node.JS)中用Redis储存Session
  9. 用OnceIO(NodeJS)搭建简单的web服务器
  10. NodeJS教程:基于OnceIO框架实现文件上传和验证
  11. NodeJS中的Middleware是什么?在OnceIO中创建和使用中间件

 相关文章
  1. 用OnceIO(NodeJS)搭建简单的web服务器
  2. 在OnceIO(Node.JS)中用Redis储存Session
  3. OnceIO(Node.js)模块拦截与注入:模板文件路由重定向与Model数据改写
  4. OnceIO(Node.JS)模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块
  5. 模块安装教程:5秒为OnceDoc扩展新功能
  6. NodeJS教程:基于OnceIO框架实现文件上传和验证
  7. OnceIO(Node.JS)中Session简介与Cookie的关系和使用方法
  8. OnceIO(Node.JS)服务器端Cookie设置、添加、删除、显示及其实现原理
  9. OnceIO(NodeJS)中的服务器端缓存、模板预加载和静态资源文件的缓存和Gzip压缩机制
  10. NodeJS中的客户端缓存、浏览器缓存、304缓存和OnceIO的缓存控制

 关键字
OnceIO Node.JS

 关注
关注
OnceOA

OnceOA