zoukankan      html  css  js  c++  java
  • 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为每个使用相同变量的模块命名,用于区分,避免发生冲突

  • 相关阅读:
    P1031 均分纸牌
    P1130 红牌
    P1094 纪念品分组
    win32 公用对话框
    高性能完成端口socket服务(IOCP)
    一个简单的调试日志功能
    UI设计工具
    windows平台(不包括ARM的CE)通用的压缩和解压缩
    win api 实现 AES加密、解密,获取HASH
    win32sdk 编程整理的些资料
  • 原文地址:https://www.cnblogs.com/renhongwei/p/7993183.html
Copyright © 2011-2022 走看看