在Html中使用Requirejs进行模块化开发实例详解


Posted in Javascript onApril 15, 2016

在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理。这里就介绍下如何通过requirejs,实现html代码的模块化开发。

如何使用requirejs加载html

Reuqirejs有一个text的插件,它可以读取指定文件的内容,读取到的内容就是文本。

如何下载text插件

第一种方法,可以通过npm下载:

npm install requirejs/text

第二种方法,也可以直接去官方github上面直接下载。

直接拷贝内容到text.js中即可。

如何安装text插件

在requirejs的main.js中配置text插件的依赖即可,跟jquery差不多,只要保证能通过正常的加载方式加载到它就行。

requirejs.config({
baseUrl: './',
paths: {
'text':path+'/require/text',
...
},
shim: {
...
}
});

也可以直接放在baseUrl里面。

如何使用text

在目标模块中,按照下面的语法即可:

define(function(require){
var html = require("text!html/test.html");
console.log(html);
});

或者

define(["text!html/test.html"],function(html){
console.log(html);
});

如何进行html的模块化开发?

看过上面你已经会使用text了,但是仍然不知道怎么组织前端代码。

举个栗子:

博客园的网站页面会根据上方的导航跳转到不同的页面。如果是在单页面中,很容易想到原始的做法是,导航的按钮对应不同的div,点击那个按钮,就显示与之对应的div;其他的div则隐藏掉。

那么,前端的代码可能会这样:

<html>
<body>
<nav>
导航按钮1、导航按钮2、导航按钮3
</nav>
<div style="display:block">按钮1对应的页面</div>
<div style="display:none">按钮2对应的页面</div>
<div style="display:none">按钮3对应的页面</div>
</body>
</html>

这样的代码会很杂乱...而且前端Html会很长...不利于维护。

那么有了reuqirejs的text插件以后,就可以这样了:

<html>
<body>
<nav>
导航按钮1、导航按钮2、导航按钮3
</nav>
<div id="target"></div>
</body>
</html>

然后在对应的模块中:

$('#target').html(require("text!目标按钮对应的页面.html"));

这样就随性多了吧!前端代码也可以跟着模块一起有效的管理了!

不过需要注意的是:这种方式会导致Jquery绑定的事件失效——所以一定要在html()方法后面,重新绑定下事件。

关于在Html中使用Requirejs进行模块化开发的相关知识就给大家介绍这么多,希望对大家有所帮助!

Javascript 相关文章推荐
jquery创建div 实现代码
Apr 27 Javascript
javascript 冒号 使用说明
Jun 06 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
AngularJS中取消对HTML片段转义的方法例子
Jan 04 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
在Vue项目中使用Typescript的实现
Dec 19 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
Feb 08 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 #Javascript
Window.Open打开窗体和if嵌套代码
Apr 15 #Javascript
jQuery设置Cookie及删除Cookie实例分析
Apr 15 #Javascript
jQuery获取cookie值及删除cookie用法实例
Apr 15 #Javascript
jQuery通过写入cookie实现更换网页背景的方法
Apr 15 #Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
Apr 15 #Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 #Javascript
You might like
php 时间计算问题小结
2009/01/04 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python中id函数运行方式
2020/07/03 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
《胡杨》教学反思
2014/02/16 职场文书
听课评语大全
2014/04/30 职场文书
感谢信怎么写
2015/01/21 职场文书
2015年派出所工作总结
2015/04/24 职场文书
学校工会工作总结2015
2015/05/19 职场文书
我的长征观后感
2015/06/09 职场文书