在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 setTimeout和setInterval的使用方法 说明
Mar 25 Javascript
7个JS基础知识总结
Mar 05 Javascript
利用AngularJs实现京东首页轮播图效果
Sep 08 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
ES6学习教程之对象的扩展详解
May 02 Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
Jul 13 Javascript
浅谈mint-ui 填坑之路
Nov 06 Javascript
JS实现图片居中悬浮效果
Dec 25 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
Vue自动构建发布脚本的方法示例
Jul 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php单例模式的简单实现方法
2016/06/10 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
python抓取网页内容示例分享
2014/02/24 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
python验证码图片处理(二值化)
2019/11/01 Python
mac使用python识别图形验证码功能
2020/01/10 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
物业保安员岗位职责
2014/03/14 职场文书
运动会入场口号
2014/06/07 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
课内比教学心得体会
2014/09/09 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
美容院员工规章制度
2015/08/05 职场文书