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


Posted in Javascript onNovember 15, 2019

因为某种原因,我们的项目必须采用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>

结果如下:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 动态酷效果实现总结
Dec 27 Javascript
jQuery 学习第五课 Ajax 使用说明
May 17 Javascript
TBCompressor js代码压缩
Jan 05 Javascript
jquery绑定事件不生效的解决方法
Feb 11 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
Jun 08 Javascript
jQuery和JavaScript节点插入元素的方法对比
Nov 18 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
原生js实现倒计时--2018
Feb 21 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
Apr 24 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 #Javascript
create-react-app中添加less支持的实现
Nov 15 #Javascript
taro小程序添加骨架屏的实现代码
Nov 15 #Javascript
详解Angular Karma测试的持续集成实践
Nov 15 #Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 #Javascript
JavaScript定时器常见用法实例分析
Nov 15 #Javascript
解决Layui 表格自适应高度的问题
Nov 15 #Javascript
You might like
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
Laravel下生成验证码的类
2017/11/15 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
window.location.hash 属性使用说明
2010/03/20 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
wxPython实现画图板
2020/08/27 Python
python新手学习使用库
2020/06/11 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
ktv总经理岗位职责
2014/02/17 职场文书
抵押贷款承诺书
2014/05/30 职场文书
霸气队列口号
2014/06/18 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
CPU不支持Windows11系统怎么办
2021/11/21 数码科技