require.js配合插件text.js實(shí)現(xiàn)最簡(jiǎn)單的單頁(yè)應(yīng)用程序
寫了一個(gè)測(cè)試代碼,用require.js配合它的一個(gè)插件text.js實(shí)現(xiàn)了最簡(jiǎn)單的單頁(yè)應(yīng)用程序,簡(jiǎn)單的記錄一下,方便以后復(fù)習(xí),
git地址:https://github.com/lily1010/requireSPA
下面來(lái)看一下目錄
從上面項(xiàng)目可以看出,我將css單獨(dú)抽離出去,實(shí)現(xiàn)了按需加載,即加載test1.html時(shí)會(huì)加載test1.css,加載test2.html時(shí)會(huì)加載test2.css.
一、先來(lái)看入口index.html代碼
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <style type="text/css" class="css-attribute"> </style> </head> <body> <script data-main="js/main" src="js/require.js"></script> <div class="page"> </div> </body> </html>
上面很簡(jiǎn)單,先定義requirejs入口data-main,另外為了按需加載css,我定義了一個(gè)類css-attribute.
二、在main.js配置路徑和做邏輯處理
require.config({ paths:{ "jquery":"lib/jquery-1.11.0", "text":"lib/text", "text1":"../template/test1.html", //這里千萬(wàn)注意路徑 "text2":"../template/test2.html", "css1":"../style/test1.css", "css2":"../style/test2.css" } }) require(['jquery','text!text1','text!text2','text!css1','text!css2'],function($,template1,template2,css1,css2){ // 進(jìn)入頁(yè)面先設(shè)置為頁(yè)面test1.html內(nèi)容 $(".css-attribute").html(css1); $(".page").html(template1); // 點(diǎn)擊skip按鈕設(shè)置為頁(yè)面test2.html內(nèi)容 $(".skip").click(function(){ $(".css-attribute").html(css2); $(".page").html(template2); }) })
上面都是最基礎(chǔ)的require配置,注意text.js用法就可以了,很簡(jiǎn)單的
三、來(lái)看看2個(gè)頁(yè)面結(jié)構(gòu)以及樣式
①test1.html代碼如下:
<div class="test1"> <button class="skip">點(diǎn)擊我跳到SPA第二頁(yè)</button> </div>
②test1.html的css,即test1.css代碼如下:
.test1{ position: absolute; top:0; bottom:0; left: 0; right: 0; background-color: red; } .skip{ position: absolute; top:50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
實(shí)現(xiàn)效果如下:
③test2.html代碼如下:
<div class="test2"> <button class="skip2">我是第二頁(yè),點(diǎn)擊我回第一頁(yè)</button> </div>
④test2.html的css,即test2.css代碼如下:
.test2{ position: absolute; top:0; bottom:0; left: 0; right: 0; background-color: pink; } .skip2{ position: absolute; top:50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
實(shí)現(xiàn)效果如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Require.JS中的幾種define定義方式示例
- require.js與bootstrap結(jié)合實(shí)現(xiàn)簡(jiǎn)單的頁(yè)面登錄和頁(yè)面跳轉(zhuǎn)功能
- require.js+vue開發(fā)微信上傳圖片組件
- 第一次接觸JS require.js模塊化工具
- require.js的用法詳解
- 詳解Sea.js中Module.exports和exports的區(qū)別
- sea.js常用的api簡(jiǎn)易文檔
- Seajs是什么及sea.js 由來(lái),特點(diǎn)以及優(yōu)勢(shì)
- Sea.JS知識(shí)總結(jié)
- 詳解Require.js與Sea.js的區(qū)別
相關(guān)文章
細(xì)數(shù)localStorage的用法及使用注意事項(xiàng)
這篇文章主要介紹了細(xì)數(shù)localStorage的用法及使用注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04JavaScript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能的兩種方法
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07JavaScript該如何學(xué)習(xí) 怎樣輕松學(xué)習(xí)JavaScript
JavaScript該如何學(xué)習(xí)?如何輕松學(xué)習(xí)JavaScript?這篇文章主要介紹了輕松學(xué)習(xí)JavaScript的方法2017-06-0615個(gè)非常實(shí)用的JavaScript代碼片段
這篇文章主要為大家詳細(xì)介紹了15個(gè)非常實(shí)用的JavaScript代碼片段,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12javascript轉(zhuǎn)換日期字符串為Date日期對(duì)象的方法
這篇文章主要介紹了javascript轉(zhuǎn)換日期字符串為Date日期對(duì)象的方法,是非常實(shí)用的轉(zhuǎn)換技巧,需要的朋友可以參考下2015-02-02不提示直接關(guān)閉網(wǎng)頁(yè)窗口的JS示例代碼
本篇文章主要是對(duì)不提示直接關(guān)閉網(wǎng)頁(yè)窗口的JS示例代碼進(jìn)行了介紹,需要的朋友可以過來(lái)參考下,希望對(duì)大家有所幫助2013-12-12JavaScript實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03JS實(shí)現(xiàn)水平移動(dòng)與垂直移動(dòng)動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)水平移動(dòng)與垂直移動(dòng)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12