lcNode — это шаблонный движок для Node.js, который можно освоить за пять минут. Грамматика движка находится между JSP и Smarty. Автор: Лео Чен. Я сам недавно начал работать с Node.js и был в замешательстве от Jade. Можно ли с этим еще комфортно писать HTML? Поэтому я потратил один день, чтобы создать этот шаблонный движок. В нем много недочетов, но со временем я буду добавлять новые возможности. Очень жду ваши советы. У меня также есть FMS (система управления фреймворками), http://www.lcfms.cn/, если вы знакомы с Java, то можете обратить внимание на него. Спасибо.
QQ группа: 348455534
1.0.0
Сейчас каталог представляет собой полный тестовый каталог для Node.js, основной модуль расположен в node_modules/laocheng/
index.js
template/
compile/
node_modules/
laocheng/(основной модуль)
node_modules/(третьих сторонних модулей)
config.json(основной конфигурационный файл)
laocheng.js(главный файл)
Template.js(файл компиляции шаблона)
Variable.js(файл установки переменных)
Скопируйте основной модуль "laocheng" в ваш каталог node_modules/.
{
"template_file":"template",(каталог для хранения шаблонов)
"compile_file":"compile",(каталог для скомпилированных шаблонов)
"extName":".html",(расширение файла шаблона)
"dynamic":true,(следует ли автоматически компилировать шаблоны при изменении)
"permit":{(установите права доступа для различных групп пользователей)
"Группа UI":[1,2,3,4,5],
"Группа программистов":[3,4,5,6,7],
"Группа тестирования":[1,7,8,9,10]
}
}
const T = require('laocheng');
// Инициализация шаблонного движка
T.init(__dirname);
let data = T.getValObj();
data.put('test', 12345);
data.put('abc.tf.a', 50);
data.put('list', {a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7});
Создайте новый шаблонный файл "index.html" в каталоге "template" (по умолчанию).
Вызов шаблона требует двух аргументов: первый - объект ответа пользователя (resp), второй - объект данных (data) из шага 5.
T.display('index.html', function(M){
M(resp, data);
resp.end('');
});
Прямое вывод значения параметра
${test}
${abc.tf.a}
Также возможно выполнение операций над параметром перед его выводом
${test * 10}
${abc.tf.a.slice(0, 5)}
Импорт файла
<include file="head.html"/>
Условие if, elseif, else
<if test="${test < 1}">
<p>Большой глоток кредита 111</p>
<elseif test="${test < 100}"/>
<p>Большой глоток кредита 222</p>
<else/>
<p>Большой глоток кредита 333</p>
</if>
Цикл for
<for from="${list}" value="v1" key="k1">
${k1} => ${v1}<br/>
</for>
Тег использования скриптов backend Node
<node>
(function(){
var a = 1;
var b = 2;
resp.write(a + b + "<br/>");
resp.write(test + "<br/>");
})();
</node>
Тег разрешений permit, позволяющий различным группам пользователей видеть различные данные, настроенные в config.json
<permit id="1">
${PERMIT} показывается, идентификатор этого проекта равен 1<br/>
</permit>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )