requirejs data-main加载总是失败的问题

刚刚开始接触requirejs,在使用过程中发现了一个问题



我一开始用上面的方式来加载脚本模块


因为requirejs使用data-main的方式来加载入口模块,但是这个data-main脚本路径是相对于自定义配置的baseUrl的,我把配置baseUrl的文件抽取出去了,独立成了一个requireConfig.js,在script加载的时候,没有办法保证requirejs内部开始加载data-main模块时候requireConfig脚本已经被加载完成,所以就会经常有下图所示的问题,data-main文件总是报404



后来研究了一下新浪微博的解决方式,发现他们是这么来的

    //noinspection JSUnresolvedVariable
    require.config({
        baseUrl: 'http://h5.sinaimg.cn/weibocn/v6/js/',
        paths: {
            'jquery': 'http://h5.sinaimg.cn/weibocn/v6/js/lib/jquery2-3a24ecb46cb1716600660086a85ad0b0.js',
            'card/cards': 'http://h5.sinaimg.cn/weibocn/v6/js/card/cards-e0518abc72cc7f1a067220b4d8fd2d4e.js',
            'act/acts': 'http://h5.sinaimg.cn/weibocn/v6/js/act/acts-e6f88f617cbab657bbc09d202e91c23c.js',
            'tpl/mod/mods.all': 'http://h5.sinaimg.cn/weibocn/v6/js/tpl/mod/mods.all-baa8aa348c8f1d67a4f598567ef08f83.js',
            'mod/mods.all': 'http://h5.sinaimg.cn/weibocn/v6/js/mod/mods.all-7355ca37ddb6c1be526292ea6b441ec5.js',
            'ctrl/home': 'http://h5.sinaimg.cn/weibocn/v6/js/ctrl/home-1fe91b48de79da46920de8d6624260f6.js'
        }
    });


直接写在页面上~


好吧,折中一下


    
    



用了这个方法算是非常不优雅的解决了这个问题。。。



记录一下这个坑,防止到时候自己忘记了`


你可能感兴趣的:(学习,web)