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 相关文章推荐
JS Timing
Apr 21 Javascript
js 设置选中行的样式的实现代码
May 24 Javascript
js对象关系图 方便dom操作
Mar 18 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
Oct 29 Javascript
js打开windows上的可执行文件示例
May 27 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
Javascript点击按钮随机改变数字与其颜色
Sep 01 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
babel的使用及安装配置教程
Feb 22 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 Javascript
简单了解JS打开url的方法
Feb 21 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 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 CLI模式下的多进程应用分析
2013/06/03 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
简述Python中的进程、线程、协程
2016/03/18 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
企划经理的岗位职责
2013/11/17 职场文书
自荐书模板
2013/12/19 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
学前班语言教学计划
2015/01/20 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android