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 相关文章推荐
用js生产批量批处理执行命令
Jul 28 Javascript
jQuery 使用手册(一)
Sep 23 Javascript
判断字符串的长度(优化版)中文占两个字符
Oct 30 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 Javascript
javascript中异常处理案例(推荐)
Oct 03 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 Javascript
vue better-scroll插件使用详解
Jan 25 Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 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
PHP判断图片格式的七种方法小结
2013/06/03 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
php加密解密字符串示例
2016/10/13 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
Python写的Socks5协议代理服务器
2014/08/06 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python序列操作之进阶篇
2016/12/08 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Python如何输出整数
2020/06/07 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
年度优秀员工获奖感言
2014/08/15 职场文书
服务整改报告
2014/11/06 职场文书
干部培训工作总结2015
2015/05/25 职场文书
家电创业计划书
2019/08/05 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
mysql配置SSL证书登录的实现
2021/09/04 MySQL