当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-11-15 15:09

    因为某种原因,我们的项目必须采用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站长之家。