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 相关文章推荐
Mootools 1.2 手风琴(Accordion)教程
Sep 15 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 Javascript
JS实现图片拖拽交换效果
Nov 30 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
JavaScript计算正方形面积
Nov 26 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 Javascript
JS中队列和双端队列实现及应用详解
Sep 29 Javascript
React实现todolist功能
Dec 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类的反射用法实例
2014/11/03 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
ionic3 懒加载
2017/08/16 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
python多重继承实例
2014/10/11 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python变量赋值的秘密分享
2018/04/03 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
自荐书模板
2013/12/15 职场文书
篝火晚会主持词
2014/03/25 职场文书
环保专项行动方案
2014/05/12 职场文书
计算机网络专业求职信
2014/06/05 职场文书
晚会开场白和结束语
2015/05/29 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
图神经网络GNN算法
2022/05/11 Python