在Html中使用Requirejs進行模組化開發執行個體詳解,requirejs執行個體

來源:互聯網
上載者:User

在Html中使用Requirejs進行模組化開發執行個體詳解,requirejs執行個體

在前端模組化的時候,不僅僅是js需要進行模組化管理,html有時候也需要模組化管理。這裡就介紹下如何通過requirejs,實現html代碼的模組化開發。

如何使用requirejs載入html

Reuqirejs有一個text的外掛程式,它可以讀取指定檔案的內容,讀取到的內容就是文本。

如何下載text外掛程式

第一種方法,可以通過npm下載:

npm install requirejs/text

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

直接拷貝內容到text.js中即可。

如何安裝text外掛程式

在requirejs的main.js中配置text外掛程式的依賴即可,跟jquery差不多,只要保證能通過正常的載入方式載入到它就行。

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

也可以直接放在baseUrl裡面。

如何使用text

在目標模組中,按照下面的文法即可:

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

或者

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

如何進行html的模組化開發?

看過上面你已經會使用text了,但是仍然不知道怎麼組織前端代碼。

舉個栗子:

部落格園的網站頁面會根據上方的導航跳轉到不同的頁面。如果是在單頁面中,很容易想到原始的做法是,導航的按鈕對應不同的div,點擊那個按鈕,就顯示與之對應的div;其他的div則隱藏掉。

那麼,前端的代碼可能會這樣:

<html><body><nav>導覽按鈕1、導覽按鈕2、導覽按鈕3</nav><div style="display:block">按鈕1對應的頁面</div><div style="display:none">按鈕2對應的頁面</div><div style="display:none">按鈕3對應的頁面</div></body></html> 

這樣的代碼會很雜亂...而且前端Html會很長...不利於維護。

那麼有了reuqirejs的text外掛程式以後,就可以這樣了:

<html><body><nav>導覽按鈕1、導覽按鈕2、導覽按鈕3</nav><div id="target"></div></body></html> 

然後在對應的模組中:

$('#target').html(require("text!目標按鈕對應的頁面.html")); 

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

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

關於在Html中使用Requirejs進行模組化開發的相關知識就給大家介紹這麼多,希望對大家有所協助!

您可能感興趣的文章:
  • 基於RequireJS和JQuery的模組化編程日常問題解析
  • 基於RequireJS和JQuery的模組化編程——常見問題全面解析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.