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 动态创建VML的方法
Oct 14 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 Javascript
Vuex提升学习篇
Jan 11 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
vue实现前端分页完整代码
Jun 17 Javascript
node.js如何根据URL返回指定的图片详解
Oct 21 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
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
php自动加载代码实例详解
2021/02/26 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
Python 学习笔记
2008/12/27 Python
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
详解详解Python中writelines()方法的使用
2015/05/25 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
树莓派实现移动拍照
2019/06/22 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
opencv python如何实现图像二值化
2020/02/03 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
python中关于数据类型的学习笔记
2020/07/19 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
优秀实习生主要事迹
2014/05/29 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
80后婚前协议书范本
2014/10/24 职场文书
大学教师个人总结
2015/02/10 职场文书