引入模板引擎

从这篇文章开始, 我们每篇开始前,先需要下载上次完成的版本。

开始前

如果没有下载之前的代码,可以使用 $npm install http-f2e-server@0.0.4 先安装上一篇完成的版本。

服务端脚本嵌入

上篇完成了模板引用和包含功能,其中include在ASP,JSP,PHP这样的脚本中都有类似功能, 事实上各种服务端脚本最基本的功能是一个嵌入式服务端代码的模式, 例如php的 <?php?>,以及ASP和JSP使用的 <% %>

underscore.js模板

  • underscore http://underscorejs.org
  • 因为 underscore.template 相对简单纯粹,我选用它作为f2e-server的默认模板引擎, 后面一些内置页面都将使用这个模板开发, 如果感兴趣您可以尝试其他模板引擎如: jade
  • API:
var compiled = _.template("hello: <%= name %>");
compiled({name: 'moe'});
=> "hello: moe"

安装underscore

直接在根目录使用 $npm install underscore 就能安装underscore

植入功能

修改handle.js 模块中的execute方法, 返回str前进行template包装

var compiled = _.template(str);
return compiled({require: require});
  • 测试源代码
<ul id="each-list">
<%for(var i=0; i < 6; i++){
    print( '<li>模板循环项'+(i+1)+'</li>\n' );
}%>
</ul>
  • 输出结果代码
<ul id="each-list">
<li>模板循环项1</li>
<li>模板循环项2</li>
<li>模板循环项3</li>
<li>模板循环项4</li>
<li>模板循环项5</li>
<li>模板循环项6</li>
</ul>

PS:

本次开发代码没有发布仓库版本,相关代码跟随下一篇共同发布到0.0.6版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容