نحوه ایجاد موتور الگوی جدید با استفاده از JavaScript

عکس پروفایل نویسنده

@20002000

اگر به این موضوع نگاه می کنید احتمالاً از خود می پرسید که من کیستم.

سلام ، من هستم ، @ shadowtime2000 ، یکی از نگهدارنده های Eta ، یک موتور قالب سریع قابل جاسازی. در این آموزش ایجاد یک موتور قالب جاوا اسکریپت (شکل / مرورگر / گره) ناهمگن را نشان خواهم داد.

طراحی

طراحی اولیه موتور الگو بسیار ساده خواهد بود. این به سادگی مقادیر را از a

data

هدف – شی. استفاده خواهد کرد

{{valueName}}

برای ارزش گذاری کردن

رندر ساده

ابتدا اجازه دهید یک تابع رندر ساده ایجاد کنیم که الگو و داده را بگیرد و مقدار را ارائه دهد.

var render = (template, data) = {
	return template.replace(/{{(.*?)}}/g, (match) = {
		return data[match.split(/{{|}}/).filter(Boolean)[0]]
	})
}

اساساً ، تمام آنچه انجام می دهد جستجوی هر چیزی است که توسط براکت احاطه شده است ، و نام داخل آن را جایگزین می کند

data

. می توانید الگوهای خود را مانند این بنویسید و آن را از شی داده می گیرد.

render("Hi, my name is {{name}}!", {
name: "shadowtime2000"
});

اما یک مشکل وجود دارد ، شما نمی توانید در استیضاح ها فاصله داشته باشید.

render("Hi, my name is {{ name }}!", {
name: "shadowtime2000"
})
/*
Hi, my name is undefined!
*/

این مستلزم آن است که شما فضای موجود در آبجکت داده را داشته باشید ، که تمیز نیست. با اصلاح …

سئو PBN | خبر های جدید سئو و هک و سرور