AngularJS 应用程序中首先运行的是什么?(模块、配置、运行等)

Lan*_*ara 2 angularjs

我对构建应用程序的方式感到好奇(我可能在无关紧要的事情上浪费了时间),但好奇心仍然让我发问。

在 AngularJS 中,应用程序如何工作?例如,如果我在 app.js 中有此代码(删除了我的实现,仅显示结构):

(function() {

    'use strict';

    angular
        .module('app', ['ui.router', 'satellizer', 'permission', 'angular-jwt', 'ui.bootstrap', 'angular-loading-bar'])
        .config(['$stateProvider', '$urlRouterProvider', '$authProvider', '$locationProvider', '$httpProvider', Config])
        .run(['$rootScope', '$state', '$auth', 'jwtHelper', 'Permission', Run]);

    function Run($rootScope, $state, $auth, jwtHelper, userService, Permission) {
        // Some code
    }

    function Config($stateProvider, $urlRouterProvider, $authProvider, $locationProvider, $httpProvider) {
        // Some code
    }

})();
Run Code Online (Sandbox Code Playgroud)

..什么先运行?我很好奇,因为我想知道我是否应该放在run之前config,等等。我不想加载配置,而是等待run做某事,而run先加载会更有效率,所以无需等待......如果这甚至是一个问题的话。

任何澄清将不胜感激。

小智 5

引导时,AngularJS 首先应用所有常量定义。然后 AngularJS 按照注册的顺序应用配置块。

源代码:https: //docs.angularjs.org/guide/module#!%2F


呼叫顺序

  1. app.config()
  2. app.run()
  3. 如果在 DOM 中找到指令的编译函数。
  4. app.controller()

源代码: https: //gxbsst.gitbooks.io/angularjs-foundations/config_vs_run.html