RequireJS 主入口加载模块经常会加载失败的问题
在接入requirejs时,在main入口遇到了这样的问题,使用jquery,刷新10次页面会有3-4次加载失败,找不到$符号等等
require.config({
'baseUrl': './modules',
'paths': {
'jquery': '../../../jquery/jquery-1.8.0.min',
'request' : 'request',
'helper' : 'helper',
'log' : 'log',
'pageBar' : 'pageBar',
'supplier' : '../supplier/supplier'
},
'waitSeconds': 0
}); require(['jquery','request','helper','log','pageBar'],function ($, request, helper, log, pageBar) {
$(function () {
require(['supplier']);
});
});
在百度找了好久也没有找到合适的答案,到官方文档寻求帮助时,看到了module_id的概念,我是第一次使用,没有好好阅读文档,第一次知道有这个东西来区分不同模块
原因是我多个模块中都使用了jquery,定义了$,由于requirejs是异步加载,不按照按顺序加载,就可能发生后面的模块比前面的模块先加载,个人理解,可能也不是这么回事,但暂时解决了问题。
修改前:
define('jquery',function ($) {
return {
refash: function (name, funcName) {
...
}
}
})
修改后:
define('pageBar','jquery',function ($) {
return {
refash: function (name, funcName) {
...
}
}
})
使用module_id为每个使用相同变量的模块命名,用于区分,避免发生冲突
RequireJS 主入口加载模块经常会加载失败的问题的更多相关文章
- requireJS 源码(二) data-main 的加载实现
(一)requireJs 的整体结构: requireJS 源码 前192行,是一些 变量的声明,工具函数的实现 以及 对 三个全局变量(requirejs,require,define)若被占用后的 ...
- requireJS 源码(三) data-main 的加载实现
(一)入口 通过 data-main 去加载 JS 模块,是通过 req(cfg) 入口去进行处理的. 为了跟踪,你可以在此 加断点 进行调试跟踪. (二) req({ })执行时,functio ...
- Javascript 的模块化编程及加载模块【转载+整理】
http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 本文内容 引入 模块化 最初写法 对象写法 立即执行函数写法 放大模式 宽放 ...
- AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
好了,现进入正题,在 AngularJs 实现动态(懒)加载主要是依赖于3个主JS文件和一段依赖的脚本. 实现的过程主要是引用3个主要的JS文件 <script src="angula ...
- AngularJs 动态加载模块和依赖
最近项目比较忙额,白天要上班,晚上回来还需要做Angular知识点的ppt给同事,毕竟年底要辞职了,项目的后续开发还是需要有人接手的,所以就占用了晚上学习的时间.本来一直不打算写这些第三方插件的学习笔 ...
- thinkphp无法加载模块解决办法
前台入口文件index.php <?php //前台入口 define('THINKPHP_PATH', '../ThinkPHP/');//底层的位置 define('APP_PATH', ' ...
- AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖-转
http://blog.csdn.net/zhangh8627/article/details/51752872 AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖 标签: ...
- linux内核裁剪及编译可加载模块
一:linux内核裁剪: 1:编译内核源码: 今天的重点内容是内核驱动的编写,在编写驱动之前首先的了解linux内核源码,linux主要是由五个子系统组成:进程调度,内存管理,文件系统,网络接口以及进 ...
- 基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 个人技术博客:http://www.cnblogs.com/M ...
随机推荐
- log4net生成多个日志文件
使用Log4Net日志组件时,经常会碰到这样一种场景,我想把错误的日志记录在Error.log文件中,而把操作的日志放在Operation.log文件中 经过几番尝试,终于实现了,在此把Log4Net ...
- 【原创】 HBase 配置指南
HBase 默认配置 Centos6.5下Hbase配置 官网配置文档:http://hbase.apache.org/book.html#_configuration_files 中文翻译转自: ...
- 《拳皇98终极之战OL》系统分析
转自:http://www.gameres.com/467959.html 游戏简述 <拳皇98终极之战OL>是由日本SNK官方正版授权,国内著名游戏公司北京掌趣科技与北京玩蟹科技开发,腾 ...
- C#之Application.DoEvents()
Application.DoEvents()的最大作用就是时时响应, 可以看做是个线程的一个封装 private void button1_Click(object sender, EventArgs ...
- USB设备驱动总结
现象:把USB设备接到PC (韦老师总结) 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有" ...
- MSBuild最佳实践
http://stackoverflow.com/questions/3097489/how-to-publish-web-with-msbuild ref: http://msdn.microsof ...
- div+css 左右两列自适应高度 ,以及父级div也跟着自适应子级的高度(兼容各大浏览器)
<style type="text/css" media="screen"> <!-- #main {width:500px;_height: ...
- leetcode804
int uniqueMorseRepresentations(vector<string>& words) { map<char, string> st; st.ins ...
- OK6410 tftp下载内核、文件系…
飞凌官方提供了一键下载烧写linux的方式,相对来说比较方便,但是对于开发来说不够灵活,因此这篇文章把tftp相关的点介绍一下,整理下其中遇到的一些问题. 一键烧写本质上是启动位于SD卡中的Uboot ...
- UDP数据报
服务器端:Server 函数: 1.inet_addr()://把IP地址转换为长整型2.inet_ntoa();//将长整型转换为IP地址3.socket的阻塞和非阻塞: 阻塞模式下: 在程序中,“ ...