在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进阶教程(第四课第一部分)
Apr 05 Javascript
JavaScript创建命名空间(namespace)的最简实现
Dec 11 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
最短的javascript:地址栏载入脚本代码
Oct 13 Javascript
javascript开发随笔一 preventDefault的必要
Nov 25 Javascript
JavaScript数值数组排序示例分享
May 27 Javascript
jquery表单验证插件formValidator使用方法
Apr 01 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
node.js文件的复制、创建文件夹等相关操作
Feb 05 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常用代码
2006/11/23 PHP
PHP 一个页面执行时间类代码
2010/03/05 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
javascript来定义类的规范小结
2010/11/19 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
js实现下一页页码效果
2017/03/07 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
Python二元算术运算常用方法解析
2020/09/15 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
自我推荐书
2013/12/04 职场文书
生产部经理岗位职责
2013/12/16 职场文书
挂职自我鉴定
2014/02/26 职场文书
班级文化建设标语
2014/06/23 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android