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 相关文章推荐
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
Nov 25 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
Sep 09 Javascript
深入分析JSONP跨域的原理
Dec 10 Javascript
node中socket.io的事件使用详解
Dec 15 Javascript
使用Node.js配合Nginx实现高负载网络
Jun 28 Javascript
轻松实现js图片预览功能
Jan 18 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
Sep 28 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
微信小程序实现电子签名并导出图片
May 27 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
搜索引擎技术核心揭密
2006/10/09 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
python flask 多对多表查询功能
2017/06/25 Python
python中的闭包函数
2018/02/09 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
职业生涯规划怎么写
2013/12/29 职场文书
个人培训自我鉴定
2014/03/28 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
学期个人自我总结
2015/02/13 职场文书
罚款通知怎么写
2015/04/22 职场文书
高中数学教学反思范文
2016/02/18 职场文书