requirejs的缺点
【前言】
不知什么时候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的缺点相关推荐
- 理解模块化和依赖管理(一)
理解模块化和依赖管理: 应用一般都会依赖外部库(jQuery和AngularJs),这些库应该使用包管理器处理和更新,而不是手动下载. 应用本身也可以分解成为多个相互交互的小部分,学习封装代码的技能, ...
- 基于angularJS和requireJS的前端架构
1.概要描述 1.1.angularJS描述:angularJS是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来 ...
- 尚学堂requireJs课程---2、模块
尚学堂requireJs课程---2.模块 一.总结 一句话总结: # 将代码以及使用放到独立的闭包中去,并且赋值给了变量,便于外部访问 # return出了函数和变量(放在一个json对象中) # ...
- requireJS的基本使用
requireJS的基本使用 一.总结 一句话总结: requireJS是js端模块化开发,主要是实现js的异步加载,和管理模块之间的依赖关系,便于代码的编写和维护 1.页面加载的js文件过多的缺点是 ...
- 学习阮一峰Javascript模块化编程,requireJS使用
使用背景NOW: 网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式. 项目需要一个团队分工协作.进度管理.单元 ...
- requirejs的用法
一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...
- 三阶段--017Day 模块 Requirejs
一,主要内容 什么是模块化 为什么使用模块化 模块嵌套 Requirejs使用 1.1 模块化产生 模板就是实现特定功能的一组方法 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块 ...
- requireJS的基本用法
引言 目前项目中的前端架构采用的是RequireJS+AngularJS,小编在工作之余对这个前端框架比较感兴趣,在开始的 时候对这个框架不是很懂,因为里面有很多平台自己封装的东西,所以在理解起来不是 ...
- 5分钟学会用requirejs
requirejs的使用场景 在早期,网页的功能非常有限,所以需要的js代码量相对较少.随着网页功能的增加,可能需要引入多个js文件,演示如下: <script src="a.js&q ...
最新文章
- python用中文怎么说-如何用Python做中文分词?
- 2016年第二季度全球以太网交换机销量破60亿美元
- oracle专用服务器模式与共享服务器模式
- php curl 测试,php使用curl检测网页是否被百度收录的示例
- PHP06 PHP操作MySQL
- DSP 投放的基本流程和算法
- figma下载_在Figma上进行原型制作的各种触发选项
- linux增加调整虚拟内存
- Nacos配置中心规范
- 基于Python的开源人脸识别库,离线识别率高达99.38%
- mac安装和使用boost库
- 使用jsp页面查看jvm使用情况
- 利润从而何来?​
- python爬虫(四)_urllib2库的基本使用
- JAVA 遍历文件夹下的所有文件
- 这么多技术我该怎么学 杨中科
- Sublime LiveReload
- echarts 鼠标弹框显示百分比柱状图显示百分比
- 教程:如何申请公众号和创建公众号?
- 什么是低代码平台 low-code?