在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 相关文章推荐
js 中 document.createEvent的用法
Aug 29 Javascript
JavaScript的parseInt 取整使用
May 09 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
详解如何为你的angular app构建一个第三方库
Dec 07 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
Antd下拉选择,自动匹配功能的实现
Oct 24 Javascript
JavaScript用document.write()输出换行的示例代码
Nov 26 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中数组定义的几种方法
2013/09/01 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
js获取单选按钮的数据
2006/11/27 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python中正则表达式的用法总结
2019/02/22 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
QQ空间主人寄语大全
2014/04/12 职场文书
小班下学期评语
2014/05/04 职场文书
法学自荐信
2014/06/20 职场文书
村委会贫困证明范本
2014/09/17 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
汽车销售合同文本
2019/08/08 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server