require.js配合插件text.js实现最简单的单页应用程序


Posted in Javascript onJuly 12, 2016

写了一个测试代码,用require.js配合它的一个插件text.js实现了最简单的单页应用程序,简单的记录一下,方便以后复习,
git地址:https://github.com/lily1010/requireSPA
下面来看一下目录

require.js配合插件text.js实现最简单的单页应用程序

从上面项目可以看出,我将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.js配合插件text.js实现最简单的单页应用程序

③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.js配合插件text.js实现最简单的单页应用程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
Aug 09 Javascript
JavaScript实现拼音排序的方法
Nov 20 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
Jun 23 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
Feb 28 Javascript
详解vue中computed 和 watch的异同
Jun 30 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 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
判断输入的字符串是否是日期格式的简单方法
Jul 11 #Javascript
You might like
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php中__toString()方法用法示例
2016/12/07 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
2015/03/23 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
小程序实现多选框功能
2018/10/30 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
校园歌咏比赛主持词
2014/03/18 职场文书
认真学习保证书
2015/02/26 职场文书
2015年学校党建工作总结
2015/05/19 职场文书