AngularJS源代码阅读(2) 项目结构

基本信息

目录结构

├─benchmarks                # 压力测试指标相关
├─css
├─docs                      # 文档
├─i18n                      # i18n相关
├─logs
├─scripts                   # 项目脚本
├─test                      # 测试相关
├─src                       # 源代码
│  │  .eslintrc.json        # eslint 代码风格控制
│  │  angular.bind.js       # bind jqlite
│  │  Angular.js            # window.angular 的用户接口
│  │  angular.prefix
│  │  angular.suffix
│  │  AngularPublic.js      # 将angular的接口暴露
│  │  apis.js
│  │  jqLite.js
│  │  loader.js             # angular.module在这里定义,函数是setupModuleLoader
│  │  loader.prefix
│  │  loader.suffix
│  │  minErr.js             # 错误处理,在angularjs出错时候可以提供丰富的错误信息
│  │  module.prefix
│  │  module.suffix
│  │  publishExternalApis.js
│  │  shallowCopy.js
│  │  stringify.js
│  │
│  ├─auto
│  │      injector.js       # 核心,angular依赖注入管理,provider
│  │
│  ├─ng
│  │  │  anchorScroll.js
│  │  │  animate.js
│  │  │  animateCss.js
│  │  │  animateRunner.js
│  │  │  browser.js
│  │  │  cacheFactory.js
│  │  │  compile.js             # 核心,compile实现
│  │  │  controller.js          # 核心,controller实现,虽然代码非常短
│  │  │  cookieReader.js
│  │  │  document.js
│  │  │  exceptionHandler.js
│  │  │  filter.js
│  │  │  forceReflow.js
│  │  │  http.js
│  │  │  httpBackend.js
│  │  │  interpolate.js
│  │  │  interval.js
│  │  │  jsonpCallbacks.js
│  │  │  locale.js
│  │  │  location.js
│  │  │  log.js
│  │  │  parse.js
│  │  │  q.js                   # 核心,angular异步库
│  │  │  raf.js
│  │  │  rootElement.js
│  │  │  rootScope.js           # 核心,Scope实现
│  │  │  sanitizeUri.js
│  │  │  sce.js
│  │  │  sniffer.js
│  │  │  templateRequest.js
│  │  │  testability.js
│  │  │  timeout.js
│  │  │  urlUtils.js
│  │  │  window.js
│  │  │
│  │  ├─directive
│  │  │      a.js
│  │  │      attrs.js
│  │  │      directives.js
│  │  │      form.js
│  │  │      input.js
│  │  │      ngBind.js
│  │  │      ngChange.js
│  │  │      ngClass.js
│  │  │      ngCloak.js
│  │  │      ngController.js        # 核心,常用angular指令
│  │  │      ngCsp.js
│  │  │      ngEventDirs.js
│  │  │      ngIf.js                # 核心,常用anuglar指令
│  │  │      ngInclude.js
│  │  │      ngInit.js
│  │  │      ngList.js
│  │  │      ngModel.js             # 核心,常用angular指令,双向数据绑定
│  │  │      ngModelOptions.js
│  │  │      ngNonBindable.js
│  │  │      ngOptions.js
│  │  │      ngPluralize.js
│  │  │      ngRepeat.js            # 核心,常用anuglar指令
│  │  │      ngShowHide.js
│  │  │      ngStyle.js
│  │  │      ngSwitch.js
│  │  │      ngTransclude.js
│  │  │      script.js
│  │  │      select.js
│  │  │      validators.js
│  │  │
│  │  └─filter
│  │          filter.js
│  │          filters.js
│  │          limitTo.js
│  │          orderBy.js
│  │
│  ├─ngAnimate
│  │      .eslintrc.json
│  │      animateChildrenDirective.js
│  │      animateCss.js
│  │      animateCssDriver.js
│  │      animateJs.js
│  │      animateJsDriver.js
│  │      animateQueue.js
│  │      animation.js
│  │      module.js
│  │      ngAnimateSwap.js
│  │      rafScheduler.js
│  │      shared.js
│  │
│  ├─ngAria
│  │      aria.js
│  │
│  ├─ngComponentRouter
│  │      Router.js
│  │
│  ├─ngCookies
│  │      cookies.js
│  │      cookieWriter.js
│  │
│  ├─ngLocale
│  │
│  ├─ngMessageFormat
│  │      .eslintrc.json
│  │      messageFormatCommon.js
│  │      messageFormatInterpolationParts.js
│  │      messageFormatParser.js
│  │      messageFormatSelector.js
│  │      messageFormatService.js
│  │
│  ├─ngMessages
│  │      messages.js
│  │
│  ├─ngMock
│  │      .eslintrc.json
│  │      angular-mocks.js
│  │      browserTrigger.js
│  │
│  ├─ngParseExt
│  │      module.js
│  │      ucd.js
│  │
│  ├─ngResource
│  │      resource.js
│  │
│  ├─ngRoute
│  │  │  .eslintrc.json
│  │  │  route.js
│  │  │  routeParams.js
│  │  │
│  │  └─directive
│  │          ngView.js
│  │
│  ├─ngSanitize
│  │  │  .eslintrc.json
│  │  │  sanitize.js
│  │  │
│  │  └─filter
│  │          linky.js
│  │
│  └─ngTouch
│      │  .eslintrc.json
│      │  swipe.js
│      │  touch.js
│      │
│      └─directive
│              ngSwipe.js
│