基于react后端渲染模板引擎noox發(fā)布使用
React 組件化思想受到越來(lái)越多開(kāi)發(fā)者的關(guān)注,組件化思想幫助開(kāi)發(fā)者將頁(yè)面解耦成一個(gè)一個(gè)組件,代碼更加模塊化, 更易擴(kuò)展。而目前流行的后端模板引擎如 ejs, swig, jade, art 共同的問(wèn)題是:
- 需要學(xué)習(xí)各類(lèi)模板引擎定義的語(yǔ)法,如 {{if}}, {{loop}}
- 對(duì)組件化支持不夠強(qiáng),實(shí)現(xiàn)復(fù)雜,不易用
針對(duì)以上痛點(diǎn),筆者基于 React 造出了 noox 這樣一個(gè)工具,專(zhuān)注于后端模板的解析,讓模板解析更加簡(jiǎn)單,易用。
使用方法
安裝
npm install noox
簡(jiǎn)單的 demo
模板代碼
首先創(chuàng)建組件目錄和增加模板文件
mkdir components && cd components vi Head.jsx
Head.jsx 內(nèi)容如下:
<head> <title>{title}</title> <meta name="description" content={props.description} /> <link rel="stylesheet" href="./css/style.css" rel="external nofollow" rel="external nofollow" /> </head>
Node.js Code
const noox = require('noox'); const nx = new noox(path.resolve(__dirname, './components'), {title: 'noox'}); let output = nx.render('Head', {description: 'hello, noox.'})
輸出
<head> <title>noox</title> <meta name="description" content="hello, noox." /> <link rel="stylesheet" href="./css/style.css" rel="external nofollow" rel="external nofollow" /> </head>
原理
Noox 在 React 的 Jsx 的基礎(chǔ)上,簡(jiǎn)化了組件引用和創(chuàng)建,假設(shè)創(chuàng)建一個(gè)目錄結(jié)構(gòu)如下:
components/ Header.jsx Body.jsx Layout.jsx
運(yùn)行如下 nodejs 的代碼:
nx = new noox(path.resolve(__dirname, './components'))
將會(huì)創(chuàng)建三個(gè)組件:
- Header
- Body
- Layout
然后通過(guò) nx.render 渲染
nx.render('Body', props)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
react+antd select下拉框?qū)崿F(xiàn)模糊搜索匹配的示例代碼
我們?cè)陂_(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)出現(xiàn)下拉框數(shù)據(jù)很多得情況,本文主要介紹了react+antd select下拉框?qū)崿F(xiàn)模糊搜索匹配的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01解決react-connect中使用forwardRef遇到的問(wèn)題
這篇文章主要介紹了解決react-connect中使用forwardRef遇到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05React中setState同步異步場(chǎng)景的使用
本文主要介紹了React中setState同步異步場(chǎng)景的使用,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03使用React Native創(chuàng)建以太坊錢(qián)包實(shí)現(xiàn)轉(zhuǎn)賬等功能
這篇文章主要介紹了使用React Native創(chuàng)建以太坊錢(qián)包,實(shí)現(xiàn)轉(zhuǎn)賬等功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Mobx實(shí)現(xiàn)React?應(yīng)用的狀態(tài)管理詳解
這篇文章主要為大家介紹了Mobx?實(shí)現(xiàn)?React?應(yīng)用的狀態(tài)管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12React不使用requestIdleCallback實(shí)現(xiàn)調(diào)度原理解析
這篇文章主要為大家介紹了React不使用requestIdleCallback實(shí)現(xiàn)調(diào)度原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11如何解決React官方腳手架不支持Less的問(wèn)題(小結(jié))
這篇文章主要介紹了如何解決React官方腳手架不支持Less的問(wèn)題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09