在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 相关文章推荐
如何简单地用YUI做JavaScript动画
Mar 10 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
js数组转json并在后台对其解析具体实现
Nov 20 Javascript
jquery.idTabs 选项卡使用示例代码
Sep 03 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
Jul 06 Javascript
通俗易懂地解释JS中的闭包
Oct 23 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 Javascript
vue中使用vue-pdf的方法详解
Sep 05 Javascript
Javascript文本框脚本实现方法解析
Oct 30 Javascript
node中短信api实现验证码登录的示例代码
Jan 20 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 表单验证实现代码
2009/03/10 PHP
php生成扇形比例图实例
2013/11/06 PHP
codeigniter框架批量插入数据
2014/01/09 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
Python中规范定义命名空间的一些建议
2016/06/04 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python中作用域的深入讲解
2018/12/10 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
python文字转语音实现过程解析
2019/11/12 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
介绍一下#error预处理
2015/09/25 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
2014年实习生工作总结
2014/11/27 职场文书
小学生运动会广播
2015/08/19 职场文书
员工试用期工作总结
2019/06/20 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书