【前言】

不知什么时候requirejs开始流行,前段时间开始使用,使用了一段时间后发现,

其实requirejs也不是万能的,也有不适合的场景。

【优点】

不得不说rj有很多优点,例如:

1.模块化

2.压缩

所以,适用的场景是:

1.公司有自己的前端部门,会自己开发前端相关插件,这个时候模块化是一个很好的选择

2.基于nodejs做webapp,nodejs+rj是一个很好的选择

3.开发游戏等

上面其实说了一件事情,就是当你的js都是自己写的,而且有很多js的时候rj很适用,

基本上就类似用java开发一个项目了,文件太多,所以需要分package和import

【缺点】

其实也不是什么缺点,但是有些场景是不适用的

1.小公司,不会自己去开发前端插件,而都是拿来插件就用的,

2.非nodejs开发,或非游戏开发

为什么这么说呢?

【rj之后事件都需要绑定】

1.使用rj之后,js都是后加载的,如果你在页面直接οnclick=一个方法,

那么抱歉,这个方法找不到,所有的js方法都得写到rj中,

也就是普通的onclick,你都得换成$(document).on()的形式,

假设你有很多事件。。。

有人说事件委托,然后在方法内判断,想想都头大。。

2.插件

很多插件都是不支持amd或cmd的,

也就是使用了rj或者seajs之后,

如果要使用这些插件,

那你得自己把插件修改为符合amd或cmd规范的,

修改一两个还好,如果有很多插件。。

3.其实也就这些。

【总结】

1.大量js,或前端插件完全自己开发,或nodejs开发的场景适合rj

2.中小公司,喜欢使用现有插件的,慎用

【怀念】

 <script type="text/javascript" src="${base}/WUI/rj/require.js"></script><script type="text/javascript">requirejs.config({baseUrl : '${base}/WUI',paths : {jquery       : 'http://cdn.staticfile.org/jquery/1.11.1/jquery.min',bootstrap  : 'http://cdn.staticfile.org/twitter-bootstrap/3.2.0/js/bootstrap.min',qiao       : 'qiao',login        : 'web/js-src/login',modifypwd    : 'web/js-src/modifypwd'},shim : {bootstrap : {deps : ['jquery'],exports :'bs'}}});</script>
({baseUrl : '../',paths : {jquery      : 'empty:',bootstrap  : 'empty:',qiao       : 'qiao',login        : 'web/js-src/login',modifypwd    : 'web/js-src/modifypwd'},name :'web/js-src/home',out :'../web/js-min/home.min.js'
//  name :'web/js-src/manage',
//  out :'../web/js-min/manage.min.js'
//    name :'web/js-src/account',
//  out :'../web/js-min/account.min.js'
//  name :'web/js-src/project',
//  out :'../web/js-min/project.min.js'
//  name :'web/js-src/blog',
//  out :'../web/js-min/blog.min.js'
})
require(['jquery', 'bootstrap', 'qiao', 'login'], function($, bs, qiao, login){$(function(){login.init();qiao.ajaxinit();});
});

ok,鉴于现在不会自己开发插件,所以回到普通的js引入方式,放弃rj。

requirejs的缺点相关推荐

  1. 理解模块化和依赖管理(一)

    理解模块化和依赖管理: 应用一般都会依赖外部库(jQuery和AngularJs),这些库应该使用包管理器处理和更新,而不是手动下载. 应用本身也可以分解成为多个相互交互的小部分,学习封装代码的技能, ...

  2. 基于angularJS和requireJS的前端架构

    1.概要描述 1.1.angularJS描述:angularJS是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来 ...

  3. 尚学堂requireJs课程---2、模块

    尚学堂requireJs课程---2.模块 一.总结 一句话总结: # 将代码以及使用放到独立的闭包中去,并且赋值给了变量,便于外部访问 # return出了函数和变量(放在一个json对象中) # ...

  4. requireJS的基本使用

    requireJS的基本使用 一.总结 一句话总结: requireJS是js端模块化开发,主要是实现js的异步加载,和管理模块之间的依赖关系,便于代码的编写和维护 1.页面加载的js文件过多的缺点是 ...

  5. 学习阮一峰Javascript模块化编程,requireJS使用

    使用背景NOW: 网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式. 项目需要一个团队分工协作.进度管理.单元 ...

  6. requirejs的用法

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  7. 三阶段--017Day 模块 Requirejs

    一,主要内容 什么是模块化 为什么使用模块化 模块嵌套 Requirejs使用 1.1 模块化产生 模板就是实现特定功能的一组方法 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块 ...

  8. requireJS的基本用法

    引言 目前项目中的前端架构采用的是RequireJS+AngularJS,小编在工作之余对这个前端框架比较感兴趣,在开始的 时候对这个框架不是很懂,因为里面有很多平台自己封装的东西,所以在理解起来不是 ...

  9. 5分钟学会用requirejs

    requirejs的使用场景 在早期,网页的功能非常有限,所以需要的js代码量相对较少.随着网页功能的增加,可能需要引入多个js文件,演示如下: <script src="a.js&q ...

最新文章

  1. python用中文怎么说-如何用Python做中文分词?
  2. 2016年第二季度全球以太网交换机销量破60亿美元
  3. oracle专用服务器模式与共享服务器模式
  4. php curl 测试,php使用curl检测网页是否被百度收录的示例
  5. PHP06 PHP操作MySQL
  6. DSP 投放的基本流程和算法
  7. figma下载_在Figma上进行原型制作的各种触发选项
  8. linux增加调整虚拟内存
  9. Nacos配置中心规范
  10. 基于Python的开源人脸识别库,离线识别率高达99.38%
  11. mac安装和使用boost库
  12. 使用jsp页面查看jvm使用情况
  13. 利润从‮而何‬来?​‎
  14. python爬虫(四)_urllib2库的基本使用
  15. JAVA 遍历文件夹下的所有文件
  16. 这么多技术我该怎么学 杨中科
  17. Sublime LiveReload
  18. echarts 鼠标弹框显示百分比柱状图显示百分比
  19. 教程:如何申请公众号和创建公众号?
  20. 什么是低代码平台 low-code?

热门文章

  1. 研大考研不是骗子:考研政治时事之破除国企岗位
  2. 初始3D打印机(Hori 3D Z600)
  3. 电子技术——伪NMOS逻辑电路
  4. CHAR与TCHAR处理函数
  5. 【anaconda创建虚拟环境】
  6. PowerDesigner如何导出表到word的方法
  7. win10任务栏,如何做到图标居中
  8. 施乐 苹果 微软的爱恨情仇
  9. Ubuntu硬盘挂载
  10. cropper截图插件(自定义像素的图片并保存本地)