Module

Is used to define and apply behavior to your application during the start process. Consist of config and run block code.

Dependency Injection

Is a term to you application giving you a value you need, example function with parameter, parameter are that DI.

module.constant

A constant can be injected everywhere. A constant can not be intercepted by a decorator, that means that the value of a constant should never be changed. module.constant register a constant service with the module.

module.run

Executed when all module have been loaded, excellent for execute system wide code that only need to be run once.

var app = angular.module('app', [])

  .constant('VERSION', '1.0')
  .run(function(VERSION){
    alert(VERSION);
  });