在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 相关文章推荐
json 定义
Jun 10 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
Mar 10 Javascript
jQuery操作input type=radio的实现代码
Jun 14 Javascript
jquery插件validate验证的小例子
May 08 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
Dec 02 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
详解jQuery中ajax.load()方法
Jan 25 Javascript
AngularJS Toaster使用详解
Feb 24 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
Javascript中的作用域及块级作用域
Dec 08 Javascript
JS动画定时器知识总结
Mar 23 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
2017/07/10 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
python中os.remove()用法及注意事项
2021/01/31 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
如何将整数int转换成字串String
2014/03/21 面试题
你对IPv6了解程度
2016/02/09 面试题
专业实习自我鉴定
2013/10/29 职场文书
医院护士的求职信范文
2013/12/26 职场文书
项目合作协议书
2014/04/16 职场文书
公益广告标语
2014/06/19 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
医院见习总结
2015/06/24 职场文书
小学校园广播稿
2015/08/18 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python
详解Python为什么不用设计模式
2021/06/24 Python