因为某种原因,我们的项目必须采用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 >{%$body%}</div> </body> </html>
结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。