如何使用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()方法后面,重新绑定下事件。
1.submit事件未触发2.action路径写错了
require可以将其他PHP文件包含到本PHP文件,主要用于大量重复的页面元素,比如网站的导航,每个页面都需要,可以单独做成一个PHP文件,其他PHP文件使用require语句导入进来,以后一旦要更改导航部分,只需要修改单独的那个导航PHP文件就可以了
如果你调用广告代码的文件是html文件,那么使用<object style="border:0px" type="text/x-scriptlet" data="import.htm" width=100% height=30></object>
来调用
如果是ASP文件的话,可以使用
<!--#include file="inc/top.html"-->
如果是PHP的话,可以使用
<?php
require($DOCUMENT_ROOT . "path to file/include-file.html")
?>"-->
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)