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 相关文章推荐
ie6下png图片背景不透明的解决办法使用js实现
Jan 11 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
Nov 23 Javascript
使用控制台破解百小度一个月只准改一次名字
Aug 13 Javascript
浅谈javascript中的数据类型转换
Dec 27 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
vue如何判断dom的class
Apr 26 Javascript
浅谈webpack 构建性能优化策略小结
Jun 13 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
Sep 01 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
利用 JavaScript 构建命令行应用
Nov 17 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
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
微信支付的开发流程详解
2016/09/13 PHP
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
python类参数self使用示例
2014/02/17 Python
numpy排序与集合运算用法示例
2017/12/15 Python
详解Python中的type和object
2018/08/15 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
pandas-resample按时间聚合实例
2019/12/27 Python
Django values()和value_list()的使用
2020/03/31 Python
python实现学生信息管理系统源码
2021/02/22 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
商务经理岗位职责
2014/08/03 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
寒山寺导游词
2015/02/03 职场文书
费城故事观后感
2015/06/10 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书