require.js配合插件text.js实现最简单的单页应用程序


Posted in Javascript onJuly 12, 2016

写了一个测试代码,用require.js配合它的一个插件text.js实现了最简单的单页应用程序,简单的记录一下,方便以后复习,
git地址:https://github.com/lily1010/requireSPA
下面来看一下目录

require.js配合插件text.js实现最简单的单页应用程序

从上面项目可以看出,我将css单独抽离出去,实现了按需加载,即加载test1.html时会加载test1.css,加载test2.html时会加载test2.css.

一、先来看入口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>

上面很简单,先定义requirejs入口data-main,另外为了按需加载css,我定义了一个类css-attribute. 

二、在main.js配置路径和做逻辑处理 

require.config({
 paths:{
  "jquery":"lib/jquery-1.11.0",
  "text":"lib/text",
  "text1":"../template/test1.html", //这里千万注意路径
  "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){
// 进入页面先设置为页面test1.html内容
 $(".css-attribute").html(css1);
 $(".page").html(template1);
 
// 点击skip按钮设置为页面test2.html内容
 $(".skip").click(function(){
  $(".css-attribute").html(css2);
  $(".page").html(template2);
 })
})
 

上面都是最基础的require配置,注意text.js用法就可以了,很简单的

三、来看看2个页面结构以及样式
①test1.html代码如下:

<div class="test1">
<button class="skip">点击我跳到SPA第二页</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%);
}

实现效果如下: 

require.js配合插件text.js实现最简单的单页应用程序

③test2.html代码如下:

<div class="test2">
 <button class="skip2">我是第二页,点击我回第一页</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%);
}
 

 实现效果如下:

require.js配合插件text.js实现最简单的单页应用程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript XMLHttpRequest对象全面剖析
Apr 24 Javascript
IE6下focus与blur错乱的解决方案
Jul 31 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
ExtJs中gridpanel分组后组名排序实例代码
Dec 02 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
AngularJS 执行流程详细介绍
Aug 18 Javascript
JS访问DOM节点方法详解
Nov 29 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 Javascript
微信小程序实现消息框弹出动画
Apr 18 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 #Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 #Javascript
浅谈angularJS中的事件
Jul 12 #Javascript
深入剖析JavaScript面向对象编程
Jul 12 #Javascript
JS及PHP代码编写八大排序算法
Jul 12 #Javascript
微信支付 JS API支付接口详解
Jul 11 #Javascript
判断输入的字符串是否是日期格式的简单方法
Jul 11 #Javascript
You might like
php+redis实现消息队列功能示例
2019/09/19 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
javascript 写类方式之三
2009/07/05 Javascript
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python高效编程技巧
2013/01/07 Python
python重试装饰器示例
2014/02/11 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
Python 求数组局部最大值的实例
2019/11/26 Python
俄罗斯游戏商店:Buka
2020/03/01 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
自主招生自荐信格式
2013/12/03 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
农业开发项目建议书
2014/05/16 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
普通党员个人整改措施
2014/10/27 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL