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 相关文章推荐
SyntaxHighlighter语法高亮插件使用说明
Aug 14 Javascript
JQuery Highcharts 动态生成图表的方法
Nov 15 Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 Javascript
Jquery使用val方法读写value值
May 18 Javascript
javascript常用的方法整理
Aug 20 Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
Feb 09 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 Javascript
js实现简易计算器功能
Oct 18 Javascript
Vertx基于EventBus发送接受自定义对象
Nov 16 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
openflashchart 2.0 简单案例php版
2012/05/21 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
广告显示判断
2006/08/31 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python复制与引用用法分析
2015/04/08 Python
Python算法应用实战之队列详解
2017/02/04 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
Django中create和save方法的不同
2019/08/13 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
大学自荐信
2013/12/12 职场文书
好的演讲稿开场白
2013/12/30 职场文书
美德好少年事迹材料
2014/01/19 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
财务管理专业求职信
2014/06/11 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
团日活动总结格式
2015/05/11 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python