当前位置: 首页 > 编程笔记 >

在node环境下parse Smarty模板的使用示例代码

莫宝
2023-03-14
本文向大家介绍在node环境下parse Smarty模板的使用示例代码,包括了在node环境下parse Smarty模板的使用示例代码的使用技巧和注意事项,需要的朋友参考一下

因为某种原因,我们的项目必须采用smarty模板,一直没找到好用的npm包
不得已扒开了fis3-smarty, gulp-smarty的代码,找到了一个npm包
smarty4Js
然后解决了node环境渲染smarty的问题

代码如下:

// index.js: 
const express = require('express');
const smarty4Js = require('smarty4Js');
const path = require('path');
const app = express();
const smartyHelper = new smarty4Js();
const basePath = path.resolve('./');
smartyHelper.setBasedir(basePath);
const compiler = smartyHelper.compile('./index.tpl');
const html = compiler.render({
  title: 'node-parse-smarty',
  body: 'Smarty'
});
console.log(html);
app.get('/', (req, res) => {
  res.header('text/html');
  res.end(html);
});

app.listen(3000, () => {
  console.log('app is run at 3000 port');
});
// index.tpl: 
<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>{%$title%}</title>
</head>
<body>
<div id="footer">{%$body%}</div>
</body>
</html>

结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • EasySwoole虽说是专为API打造,但难免有些用户想一站全撸,本例介绍了如何集成模板引擎,配合Apache或者是Nginx做静态服务器,构建全站开发示例。 本示例介绍两种模板引擎的集成,分别是Smarty引擎和来自Laravel的Blade引擎 集成前准备 由于swoole_http_server对Http协议的支持并不完整,建议仅将easySwoole作为后端服务,并且在前端增加Nginx

  • 本文向大家介绍jquery中使用循环下拉菜单示例代码,包括了jquery中使用循环下拉菜单示例代码的使用技巧和注意事项,需要的朋友参考一下 这个下拉菜单式可以循环的使用jquery实现,很实用,喜欢的朋友可以参考下

  • 本文向大家介绍C++实现模板方法模式的示例代码,包括了C++实现模板方法模式的示例代码的使用技巧和注意事项,需要的朋友参考一下 模式定义 模板方法模式(Facade),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模式动机 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不

  • 本文向大家介绍Android Popwindow弹出框的模板使用示例,包括了Android Popwindow弹出框的模板使用示例的使用技巧和注意事项,需要的朋友参考一下  Pop弹出框 以上所述是小编给大家介绍的Android Popwindow弹出框的模板使用示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 本文向大家介绍BaiduTemplate模板引擎使用示例(附源码),包括了BaiduTemplate模板引擎使用示例(附源码)的使用技巧和注意事项,需要的朋友参考一下 1、新建项目,asp.net 空Web应用程序 添加data,js,styles,templates文件夹,添加baiduTemplate.js,jquery.js,bootstrap.css 2、添加list.js脚本,代码如下

  • New in version 1.1. 你完全有可能遇到一些更新包需要通过proxy才能正常获取,或者甚至一部分包需要通过proxy升级而另外一部分包则不需要通过proxy.或者可能你的某个脚本需要调用某个环境变量才能正常运行. Ansible 使用 ‘environment’ 关键字对于环境部署的配置非常简单容易,下面是一个使用案例: - hosts: all remote_user: ro