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动态加载以及确定加载完成的代码
Jul 31 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
jQuery操作之效果详解
May 19 jQuery
微信小程序的日期选择器的实例详解
Sep 29 Javascript
vue中关闭eslint的方法分析
Aug 04 Javascript
详解vue2.0 资源文件assets和static的区别
Nov 27 Javascript
详解VUE里子组件如何获取父组件动态变化的值
Dec 26 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
vue前端工程的搭建
Mar 31 Vue.js
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封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
用python实现名片管理系统
2020/06/18 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
如何撰写一封出色的求职信
2014/04/27 职场文书
医院保洁服务方案
2014/06/11 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
上甘岭观后感
2015/06/10 职场文书
初中运动会前导词
2015/07/20 职场文书