zoukankan      html  css  js  c++  java
  • backbone与require的共存问题解决

    如果向下面那样直接列出script标签可能会出现错误,
     
        <script type="text/javascript" src="/dep/jquery-1.11.1.min.js"></script>
        <script type="text/javascript" src="/dep/underscore-1.6.0.min.js"></script>
        <script type="text/javascript" src="/dep/backbone-1.1.2.js"></script>
        <script type="text/javascript" src="/dep/require-2.1.11.min.js"></script>
    

      

    原因有两点:
    1、backbone中有define等关键字
    2、js的加载与执行顺序是无序的,所以有可能require先加载执行使backbone
     
    解决方案:
    第一步:配置require.config
     
            require.config({
                baseUrl: '/src/',
                paths:{
                    underscore: '/dep/underscore-1.6.0.min',
                    jquery: '/dep/jquery-1.11.1.min',
                    backbone: '/dep/backbone-1.1.2.min'
                },
                shim: {
                    'backbone': {
                        deps: [
                            'underscore',
                            'jquery'
                        ]
                    }
                }
            });
     
    第二部:require入口模块 
     
            require(['enter'], function(main){
                main.enter();
            });
    

    最后一步:在入口模块中依赖backbone
     
    define(['backbone'], function (backbone) {
    
        // 异步加载某模块,可在此处做一些路由处理
        var enter = function(model){
            model = model||'helloWorld';
            window.require([model], function(helloWorld){
    
                var $container = $('#main');
                helloWorld.init($container);
            });
        };
    
        return {
            enter: enter
        };
    });
    

    说明:
     
    1、以后的业务模块中就不需要依赖backbone了,因为非模块加载已经全局化
    2、在其他模块中使用时是Backbone,大写的B啊
  • 相关阅读:
    VUE DEVTOOLS 安装方法(npm cnpm 安装失败找不到安装工具问题解决方法)
    idea 注释模版
    阿里巴巴编码规范
    JRebel 实现热部署
    SPRING 扩展组件
    oracle 闪回
    ORACLE 日常
    springboot log4j
    支付宝异步回调验证签名的那些走过的坑
    ASP.NET MVC5(一)—— URL路由
  • 原文地址:https://www.cnblogs.com/longze/p/3747795.html
Copyright © 2011-2022 走看看