NodeJS Marko custom tags Quick Reference

本文介绍了一个使用Marko模板引擎的示例项目。通过具体的代码示例,展示了如何定义组件和页面模板,并在页面中使用这些组件。同时,还演示了如何处理数据并将其渲染到页面上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创转载请注明出处:http://agilestyle.iteye.com/blog/2354225

 

Prerequisite

http://agilestyle.iteye.com/blog/2354215

 

Project Directory

 

SRC

marko-taglib.json

{
	"tag-dir": "./components"
}

 

src/components/app-hello/template.marko

<div>
	Hello ${data.name}! You have ${data.messageCount} message(s).
</div>

 

src/components/app-hello/index.js

var template = require('./template.marko');

module.exports = function(input, out) {
	var name = input.name;
	var messageCount = input.messageCount;

	if(name) {
		name = name.toUpperCase();
	} else {
		name = 'annoymous';
	}

	template.render({
		name: name,
		messageCount: messageCount
	}, out);
}

 

src/pages/home/template.marko

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Marko Demo</title>
</head>
<body>
	<h1>Marko Demo</h1>

	Hello ${data.name}

	<ul if(data.colors)>
        <li for(color in data.colors)>
            ${color}
        </li>
    </ul>
    <div else>
        No colors!
    </div>

    <app-hello name="Marko" message-count="30"/>
    <app-hello message-count="1"/>
</body>
</html>

 

Run & Test


 

marko-tag.json


 

src/components/app-hello目录下新建一个marko-tag.json文件


 

src/pages/home/template.marko新增一行如下:

<app-hello invalid="error" />

 

启动Server,会直接报错如下:


 

Reference

https://www.youtube.com/watch?v=00xBpj89AkY 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值