时间:2021-05-25
在前端模块化的时候,不仅仅是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>然后在对应的模块中:
这样就随性多了吧!前端代码也可以跟着模块一起有效的管理了!
不过需要注意的是:这种方式会导致Jquery绑定的事件失效——所以一定要在html()方法后面,重新绑定下事件。
关于在Html中使用Requirejs进行模块化开发的相关知识就给大家介绍这么多,希望对大家有所帮助!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Require.js与Sea.js的区别相同之处RequireJS和Sea.js都是模块加载器,倡导模块化开发理念,核心价值是让JavaScript的模块化开发
RequireJS介绍RequireJS是一个JavaScript模块加载器。它非常适合在浏览器中使用。使用RequireJS加载模块化脚本将提高代码的加载速度
在ES6前,前端就使用RequireJS或者seaJS实现模块化,requireJS是基于AMD规范的模块化库,而像seaJS是基于CMD规范的模块化库,两者都
一、前言开始模块化开发项目之后,一个很重要的问题就是页面见的跳转问题。关于模块化发开,可详见我的另一片文章Android模块化开发探索。正是由于将项目模块化拆分
样式模块化的好处RequireJS被设计用来加载JavaScript模块的,可是大家有没有联想到其实样式文件可以进行模块化处理,那么问题来了,RequireJS