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 相关文章推荐
JavaScript 解析读取XML文档 实例代码
Jul 07 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
js实现卡片式项目管理界面UI设计效果
Dec 08 Javascript
易被忽视的js事件问题总结
May 14 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
React中使用collections时key的重要性详解
Aug 07 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
Nov 16 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
electron踩坑之dialog中的callback解决
Oct 06 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
mysql 搜索之简单应用
2007/04/27 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
小谈php正则提取图片地址
2014/03/27 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
从vue源码看props的用法
2019/01/09 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
python多线程编程中的join函数使用心得
2014/09/02 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python如何变换环境
2020/07/21 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
彻底解决Python包下载慢问题
2020/11/15 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
实习老师离校感言
2014/02/03 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL