require简单实现单页应用程序(SPA)


Posted in Javascript onJuly 12, 2016

写了一个测试代码,用require.js配合它的一个插件text.js实现了最简单的单页应用程序,简单的记录一下,方便以后复习,

git地址:https://github.com/lily1010/requireSPA

下面来看一下目录

require简单实现单页应用程序(SPA)

从上面项目可以看出,我将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简单实现单页应用程序(SPA)

③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简单实现单页应用程序(SPA)

以上这篇require简单实现单页应用程序(SPA)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 Javascript
js使用心得分享
Jan 13 Javascript
学习javascript面向对象 理解javascript对象
Jan 04 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
Vue.js开发环境快速搭建教程
Mar 17 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
JavaScript函数的4种调用方法实例分析
Mar 05 Javascript
Vue中 axios delete请求参数操作
Aug 25 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 #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
You might like
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
一些使用频率比较高的php函数
2008/10/03 PHP
深入php list()函数的详解
2013/06/05 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
php MessagePack介绍
2013/10/06 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
2014/02/19 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Django权限机制实现代码详解
2018/02/05 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
详解Python Opencv和PIL读取图像文件的差别
2019/12/27 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
2021/01/26 Python
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
总经理助理工作职责
2014/02/06 职场文书
六一节目主持词
2014/04/01 职场文书
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android
html5调用摄像头截图功能
2022/01/18 Javascript
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript