angular.js中 requirejs配置的main的问题

发布于 2022-09-05 23:38:31 字数 4254 浏览 22 评论 0

 shim:{
        'kelat'         : {exports:'$$'},
        'angular'       : {exports:'angular',init: function(){
                var _module = angular.module;
                angular.module = function () {
                    var newModule = _module.apply( angular , arguments );
                    if ( arguments.length >= 2 ) {
                        newModule.config( [
                            '$controllerProvider' ,
                            '$compileProvider' ,
                            '$filterProvider' ,
                            '$provide' ,
                            function ( $controllerProvider , $compileProvider , $filterProvider , $provide ) {
                                newModule.controller = function () {
                                    $controllerProvider.register.apply( this , arguments );
                                    return this;
                                };
                                newModule.directive = function () {
                                    $compileProvider.directive.apply( this , arguments );
                                    return this;
                                };
                                newModule.filter = function () {
                                    $filterProvider.register.apply( this , arguments );
                                    return this;
                                };
                                newModule.factory = function () {
                                    $provide.factory.apply( this , arguments );
                                    return this;
                                };
                                newModule.service = function () {
                                    $provide.service.apply( this , arguments );
                                    return this;
                                };
                                newModule.provider = function () {
                                    $provide.provider.apply( this , arguments );
                                    return this;
                                };
                                newModule.value = function () {
                                    $provide.value.apply( this , arguments );
                                    return this;
                                };
                                newModule.constant = function () {
                                    $provide.constant.apply( this , arguments );
                                    return this;
                                };
                                newModule.decorator = function () {
                                    $provide.decorator.apply( this , arguments );
                                    return this;
                                };
                            }
                        ]);
                    }
                    return newModule;
                };
            }},
        'uiRouter'      : {deps:['angular']},
        'translate'     : {deps:['angular']},
        'angularIOS'    : {deps:['angular']},
        //设备
        'UpDevice'      : {deps:['Cordova']},
        'UpUser'        : {deps:['Cordova']},
        'deviceReady'   : {exports:'deviceReady',deps:['UpDevice','UpUser']},
        //JS接口
        'deviceModel'   : {deps:['deviceAPI']},
        //服务
        "Service"       : {exports:"Service",deps:["deviceReady"]},
        //app
        'APP'           : {deps:['uiRouter','translate','deviceReady']},
        'LANG'          : {exports:'LANG',deps:[]}
    },
    map:{
        '*':{
            css     : deviceParam.PUBLIC_LIBRARY_PATH + '_lib/requireJS/css',
            text    : deviceParam.PUBLIC_LIBRARY_PATH + '_lib/requireJS/text'
        }
    },
    deps:['angular','uiRouter','angularIOS','kelat'],
    waitSeconds:0
    //,urlArgs: "bust=" + (new Date()).getTime()//防止读取缓存,调试用
});
require([
    'APP'
],function(){
    var $html = angular.element(document.getElementsByTagName('html')[0]);
    angular.element().ready(function(){
        //手动设置应用
        angular.bootstrap($html, ['ui.router','pascalprecht.translate','deviceApp']);
    });

公司项目里面一个用require 设置了模块之间的依赖 框架用的是angular 代码是main js里面的配置 看着有点懵逼 请大神指教讲解一下

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不顾 2022-09-12 23:38:31

阮一峰的博客讲的挺清楚的:http://www.ruanyifeng.com/blo...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文