在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 相关文章推荐
Javascript Function对象扩展之延时执行函数
Jul 06 Javascript
jquery可见性过滤选择器使用示例
Jun 24 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
jquery html5 视频播放控制代码
Nov 06 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
js实现复制功能(多种方法集合)
Jan 06 Javascript
Vue实现点击后文字变色切换方法
Feb 11 Javascript
vue中使用protobuf的过程记录
Oct 26 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
Aug 26 Javascript
JavaScript实现简单图片切换
Apr 29 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
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
javascript 有用的脚本函数
2009/05/07 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
pandas对指定列进行填充的方法
2018/04/11 Python
Python函数和模块的使用总结
2019/05/20 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
介绍一下linux文件系统分配策略
2013/02/25 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
商场总经理岗位职责
2014/02/03 职场文书
安全生产演讲稿
2014/05/09 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
2014年技术部工作总结
2014/12/12 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
外出培训学习心得体会
2016/01/18 职场文书
用python实现监控视频人数统计
2021/05/21 Python
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python