因为某种原因,我们的项目必须采用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>
结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。