在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 相关文章推荐
DOM 中的事件处理介绍
Jan 18 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
Mar 20 Javascript
三种检测iPhone/iPad设备方向的方法
Apr 23 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
jQuery实现长按按钮触发事件的方法
Feb 02 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 05 Javascript
基于Electron实现桌面应用开发代码实例
Jul 07 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
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
python实现获取Ip归属地等信息
2016/08/27 Python
django之session与分页(实例讲解)
2017/11/13 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python实现代码统计器
2019/09/19 Python
python向图片里添加文字
2019/11/26 Python
python如何使用代码运行助手
2020/07/03 Python
数控技术与应用毕业生自荐信
2013/09/24 职场文书
外贸业务员求职信
2014/06/16 职场文书
六查六看自查报告
2014/10/14 职场文书
护士辞职信怎么写
2015/02/27 职场文书
2014年度个人总结范文
2015/03/09 职场文书
党支部意见范文
2015/06/02 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python