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 相关文章推荐
JavaScript入门教程(7) History历史对象
Jan 31 Javascript
jquery.validate使用攻略 第五步 正则验证
Jul 01 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
js定时调用方法成功后并停止调用示例
Apr 08 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
Nov 20 Javascript
Vue中父子组件的值传递与方法传递
Sep 28 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执行速度全攻略
2006/10/09 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
PHP校验ISBN码的函数代码
2011/01/17 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
JQuery下拉框应用示例介绍
2014/04/23 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
在购买印度民族服饰:Soch
2020/09/15 全球购物
优秀老师事迹材料
2014/02/05 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
新年晚会主持词
2014/03/24 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
大一新生检讨书
2014/10/29 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
初中作文评语
2014/12/25 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
中秋节祝酒词
2015/08/12 职场文书
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
golang为什么要统一错误处理
2022/04/03 Golang
R9700摩机记
2022/04/05 无线电
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
Python开发五子棋小游戏
2022/04/28 Python