问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用requirejs加载html

发布网友 发布时间:2022-04-25 15:34

我来回答

2个回答

懂视网 时间:2022-05-12 15:19

这篇文章主要介绍了关于在Html中使用Requirejs进行模块化开发的解析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

在前端模块化的时候,不仅仅是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了,但是仍然不知道怎么组织前端代码。

举个栗子:

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

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

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

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

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

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

然后在对应的模块中:

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

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

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

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

热心网友 时间:2022-05-12 12:27

在前端模块化的时候,不仅仅是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()方法后面,重新绑定下事件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
LG棒棒糖GD580这么看书 lg gd580怎么用moto看小说 各种海鲜馅饺子大全 海鲜水饺都有什么馅儿的 用网上交易系统进行股票操作资金安全吗,我是在中信建投开的户 北京瀚正化妆学校包就业吗 通江车检在哪里,可以摩托车年审不? 摩托车年审在通江县哪里啊 我是四川省通江县人、我是摩托车驾驶证,以快到期,请问我在江苏无锡... 通江县哪里可以托运摩托车 require方法在js编译后被注释 外用延时药哪有卖的啊。我和女友都是第一次。4。5次了都是没插进去就... 能够延时的药物有哪些 为什么要用require加载js 该去哪里买外用延时喷剂啊? 关于 申请再审 后 的流程 CAD是什么专业? 民事案件申请再审要提交什么材料? 如何在网上免费学习CAD? 民事诉讼中当事人申请再审的条件有哪些 CAD证书有几种,都是什么 民事案件再审程序 cad是考试课还是考查课 行政诉讼中的再审有哪些情形? CAD第一节课怎么讲 当事人申请再审的条件有哪些,法院受理再审的条件 cadcourse是什么意思 再审案件适用的法律有什么要求 课程名称:cAD绘图 建筑学专业怎么样? 药房有男性延时的药吗 requirejs的init怎么用 延时药`延时药品`延时药物有哪些?? requirejs 怎么导入echarts 药店有哪些正规延时药 require.js加载文件怎么加载不进来?求帮忙。。。基本原理都清楚!!!_百... 哪种药延时效果好 客户端页面能做到用哪个js就下载哪一个吗? 太原哪里能买到延时药,,,延续时间长的,,每次几分钟,,自己都觉得不好意思,,要正经的,,,不要太 requirejs 怎么实现通过变量名加载 药店一般延时药有哪些 如何将requirejs风格的文件,打包成库 哪里可以买到效果好的延时药? require.js的用法 求!延时药物哪个牌子正规效果好? 如何利用Require.Js管理多页面站点文件 有谁知道哪种延时药最好,最有效啊? labjs,requirejs,sea.js 哪个最好用?为什么 哪种延时药最好?很想试试,找不到好的... 男性延时哪种最好,比较有效的男性延时药