欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理。这里就介绍下如何通过requirejs,实现html代码的模块化开发
 
  在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理。这里就介绍下如何通过requirejs,实现html代码的模块化开发。
 
  如何使用requirejs加载html
 
  Reuqirejs有一个text的插件,它可以读取指定文件的内容,读取到的内容就是文本。
 
  如何下载text插件
 
  第一种方法,可以通过npm下载:
 
  npminstallrequirejs/text
 
  第二种方法,也可以直接去官方github上面直接下载。
 
  直接拷贝内容到text.js中即可。
 
  如何安装text插件
 
  在requirejs的main.js中配置text插件的依赖即可,跟jquery差不多,只要保证能通过正常的加载方式加载到它就行。
 
  requirejs.config({
 
  baseUrl:'./',
 
  paths:{
 
  'text':path+'/require/text',
 
  ...
 
  },
 
  shim:{
 
  ...
 
  }
 
  });
 
  也可以直接放在baseUrl里面。
 
  如何使用text
 
  在目标模块中,按照下面的语法即可:
 
  define(function(require){
 
  varhtml=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>
 
  <pstyle="display:block">按钮1对应的页面</p>
 
  <pstyle="display:none">按钮2对应的页面</p>
 
  <pstyle="display:none">按钮3对应的页面</p>
 
  </body>
 
  </html>
 
  这样的代码会很杂乱...而且前端Html会很长...不利于维护。
 
  那么有了reuqirejs的text插件以后,就可以这样了:
 
  <html>
 
  <body>
 
  <nav>
 
  导航按钮1、导航按钮2、导航按钮3
 
  </nav>
 
  <pid="target"></p>
 
  </body>
 
  </html>
 
  然后在对应的模块中:
 
  $('#target').html(require("text!目标按钮对应的页面.html"));
 
  这样就随性多了吧!前端代码也可以跟着模块一起有效的管理了!
 
  不过需要注意的是:这种方式会导致Jquery绑定的事件失效——所以一定要在html()方法后面,重新绑定下事件。
 
  关于在Html中使用Requirejs进行模块化开发的相关知识就给大家介绍这么多,希望对大家有所帮助!








本文转载自中文网

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html5/h54973.shtml