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 相关文章推荐
ExtJS扩展 垂直tabLayout实现代码
Jun 21 Javascript
JS解析XML的实现代码
Nov 12 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
Nov 26 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
Aug 23 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
Aug 08 jQuery
在VUE中使用lodash的debounce和throttle操作
Nov 09 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
php中adodbzip类实例
2014/12/08 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
Python程序语言快速上手教程
2012/07/18 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
长辈证婚人证婚词
2014/01/09 职场文书
安全责任书怎么写
2014/07/28 职场文书
高中生逃课检讨书
2014/10/10 职场文书
车队安全员岗位职责
2015/02/15 职场文书
检讨书格式
2015/05/07 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书