亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在Html中使用Requirejs進(jìn)行模塊化開(kāi)發(fā)實(shí)例詳解

 更新時(shí)間:2016年04月15日 10:24:51   投稿:mrr  
在前端模塊化的時(shí)候,不僅僅是js需要進(jìn)行模塊化管理,html有時(shí)候也需要模塊化管理。這里就介紹下如何通過(guò)requirejs,實(shí)現(xiàn)html代碼的模塊化開(kāi)發(fā)

在前端模塊化的時(shí)候,不僅僅是js需要進(jìn)行模塊化管理,html有時(shí)候也需要模塊化管理。這里就介紹下如何通過(guò)requirejs,實(shí)現(xiàn)html代碼的模塊化開(kāi)發(fā)。

如何使用requirejs加載html

Reuqirejs有一個(gè)text的插件,它可以讀取指定文件的內(nèi)容,讀取到的內(nèi)容就是文本。

如何下載text插件

第一種方法,可以通過(guò)npm下載:

npm install requirejs/text

第二種方法,也可以直接去官方github上面直接下載。

直接拷貝內(nèi)容到text.js中即可。

如何安裝text插件

在requirejs的main.js中配置text插件的依賴即可,跟jquery差不多,只要保證能通過(guò)正常的加載方式加載到它就行。

requirejs.config({
baseUrl: './',
paths: {
'text':path+'/require/text',
...
},
shim: {
...
}
}); 

也可以直接放在baseUrl里面。

如何使用text

在目標(biāo)模塊中,按照下面的語(yǔ)法即可:

define(function(require){
var html = require("text!html/test.html");
console.log(html);
}); 

或者

define(["text!html/test.html"],function(html){
console.log(html);
}); 

如何進(jìn)行html的模塊化開(kāi)發(fā)?

看過(guò)上面你已經(jīng)會(huì)使用text了,但是仍然不知道怎么組織前端代碼。

舉個(gè)栗子:

博客園的網(wǎng)站頁(yè)面會(huì)根據(jù)上方的導(dǎo)航跳轉(zhuǎn)到不同的頁(yè)面。如果是在單頁(yè)面中,很容易想到原始的做法是,導(dǎo)航的按鈕對(duì)應(yīng)不同的div,點(diǎn)擊那個(gè)按鈕,就顯示與之對(duì)應(yīng)的div;其他的div則隱藏掉。

那么,前端的代碼可能會(huì)這樣:

<html>
<body>
<nav>
導(dǎo)航按鈕1、導(dǎo)航按鈕2、導(dǎo)航按鈕3
</nav>
<div style="display:block">按鈕1對(duì)應(yīng)的頁(yè)面</div>
<div style="display:none">按鈕2對(duì)應(yīng)的頁(yè)面</div>
<div style="display:none">按鈕3對(duì)應(yīng)的頁(yè)面</div>
</body>
</html> 

這樣的代碼會(huì)很雜亂...而且前端Html會(huì)很長(zhǎng)...不利于維護(hù)。

那么有了reuqirejs的text插件以后,就可以這樣了:

<html>
<body>
<nav>
導(dǎo)航按鈕1、導(dǎo)航按鈕2、導(dǎo)航按鈕3
</nav>
<div id="target"></div>
</body>
</html> 

然后在對(duì)應(yīng)的模塊中:

$('#target').html(require("text!目標(biāo)按鈕對(duì)應(yīng)的頁(yè)面.html")); 

這樣就隨性多了吧!前端代碼也可以跟著模塊一起有效的管理了!

不過(guò)需要注意的是:這種方式會(huì)導(dǎo)致Jquery綁定的事件失效——所以一定要在html()方法后面,重新綁定下事件。

關(guān)于在Html中使用Requirejs進(jìn)行模塊化開(kāi)發(fā)的相關(guān)知識(shí)就給大家介紹這么多,希望對(duì)大家有所幫助!

相關(guān)文章

最新評(píng)論