网络编程 
首页 > 网络编程 > 浏览文章

在node环境下parse Smarty模板的使用示例代码

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

因为某种原因,我们的项目必须采用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模板的使用示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:微信小程序自定义导航栏(模板化)
下一篇:微信小程序自定义头部导航栏(组件化)
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。