# leo-template **Repository Path**: sync-github/leo-template ## Basic Information - **Project Name**: leo-template - **Description**: 一款简单的模板引擎 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-17 - **Last Updated**: 2024-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## leo-Template
> 一个功能简单的模板引擎 ## 使用 ### 安装 ```shell npm install leo-template ``` ### 模板语法 `<% %>` :用来包裹 javascript 代码。 `<%= >`:用来解析表达式的值。 ```html<%=data%>
", { data: 789 })()) // 没有缓存可用 console.log(complie("<%=data%>
", { data: 123 })()) // 使用第上一次的缓存 ``` ### 全局配置 | 名称 | 描述 | | ------------- | ------------------------------------------------------------ | | `contentBase` | 统一放置模板的的目录,设置此项后续使用相关方法是时,传入相对于此的相对路径即可。**注意:如果全局和使用相关方法时都不配置此项,则会从项目开始查找名为 template 的目录作为模板存放根目录,如果没找到就会报错。** | | `useCache` | 是否开启缓存。 默认为 `false` | ```js const path = require('path') const leoTemp = require('leo-template') leoTemp.setConfig({ contentBase: path.resolve(__dirname, 'template'), useCache: false }) ``` 配置的优先级 :相关方法的配置项优先级 > 全局配置 。 ```js const { renderTemplate, complie } = require('./src') const path = require('path') const leoTemp = require('./src') leoTemp.setConfig({ contentBase: path.resolve(__dirname, 'template'), useCache: false }) let arr = [{ label: "列表项1", url: "/link1" }] // 单独配置项优先级高 renderTemplate('./template.html', { arr }, { useCache: true, contentBase: path.join(__dirname, '/src/template'), }) .then((temp) => { console.log(temp) }) renderTemplate('./template.html', { arr }, { useCache: true }) .then((temp) => { console.log(temp) }) console.log(complie("<%= data %>
", { data: 345 }, { useCache: true })()) ```