# Domcom包目录层次结构

  如下是Domcom包目录层次结构， 按重要程度排序，更重要的文件夹和文件放在前面。

  没有扩展domcom/lib/, domcom/dist/test/, domcom/dist/demo/，因为它们只是从coffee-script转译产生的目标javascript文件。工程上这几个文件夹并无实际作用，提供给更倾向于javascript语言的程序员作为参考。

  没有扩展domcom/static/, domcom/node_modules/ domcom/bower_modules/，因为它们只是公用的库文件夹。

    domcom    ...................................  // 提供DOM部件的web框架
    |- src/   ...................................  // coffee-script源代码文件夹
    |  |- domcom.coffee    ......................  // 包含整个domcom，包括基础的domcom及其addon
    |  |- Component.coffee    ...................  // domcom部件类
    |  |- react-proxy.coffee    .................  // ReactProxy代理类以及dc.addReactProxy函数
    |  |- dc-directive.coffee    ................  // 几个内建指令 $model, $show, $options等
    |  |- dc-error.coffee    ....................  // domcom错误处理
    |  |- Emitter.coffee    .....................  // Domcom部件事件处理基类
    |  |- dc-util.coffee    .....................  // dc辅助函数
    |  |
    |- doc    ...................................   // document 文件夹
    |  |- api-reference.md  .....................   // 英文版API参考
    |  \- Chinese    ............................   // 中文文档
    |     |- 介绍和辅导教程.md    .................   // 介绍和辅导教程
    |     |- 概念和原理.md  .......................   // Domcom概念和原理
    |     |- API参考.md  .........................   // API参考
    |     |- 速查表.md  ..........................    // 速查表
    |     \- 常见问题.md  ........................   // 常见问题
    |
    |- test/    .................................   // test文件夹
    |  |  \- index.coffee    ....................   // 所有测试的index文件，用于mocha-runner.html以及mocha-runner-dist.html
    |  |
    |  |- mocha-runner.html    ..................   // 测试用mocha runner html, 采用webpack-hot-server
    |  |- mocha-runner-dist.html    .............   // 测试用mocha runner html, 采用dist/中的文件
    |  |- draft.html    .............................   // 只是在开发中用到的草稿文件
    |  |
    |- demo/    .................................   // demo文件夹
    |  |- todomvc/    ...........................   // todoMVC范例文件夹
    |  |  |- index.html    ......................   // todoMVC html页面，采用webpack-server
    |  |  |- index-dist.html    .................   // todoMVC html页面，采用dist/中的代码
    |  |  |- learn.json    ......................   // learn.json文件，为todoMVC网站提供
    |  |  \- todomvc.coffee    ..................   // todoMVC全部源码
    |  |
    |  |- app.css    ............................   // 用于demo的css，被demo/index.html引用
    |  |                                            // UPDATE: demo-builtins，demo-accordion，demo-dialog， demo-splitter和demo-auto-width-edit已经移出，放置到独立的包dc-controls
    |  |- demo-controls.coffee    ...............   // 演示某些空军
    |  |- demo-counter.coffee    ................   // 演示简单计数器
    |  |- demo-each.coffee    ...................   // 演示某项Each部件
    |  |- demo-event.coffee    ..................   // 演示Tag部件的事件
    |  |- demo-mount-unmount.coffee    ..........   // 演示挂载和卸除部件
    |  |- demo-show-hide.coffee    ..............   // 演示$show和$hide指令
    |  |- demo-sum.coffee    ....................   // 演示求和
    |  |- demo-text-model.coffee    .............   // 演示带$model指令的文本输入标签
    |  |- index.coffee    .......................   // 演示入口coffee文件，用来启动所有演示
    |  |- index.html    .........................   // 演示用的index.html, 采用webpack-hot-server
    |  \- index-dist.html    ....................   // 演示用的index.html, 采用dist/
    |
    |- dist    ..................................  // 发布用文件夹
    |  |- domcom.js    ..........................  // 完整domcom发布, 包括基础内容和补充内容, 用于开发, 大多数情况下建议使用这个文件
    |  |- domcom.min.js    ......................  // 最小化的完整domcom发布, 包括基础内容和补充内容, 用于产品, 大多数情况下建议使用这个文件
    |  |- test/ .................................  // 从coffee-script test/生成的javascript文件夹
    |  \- demo/ .................................  //  从coffee-script demo/生成的javascript文件夹
    |
    |- lib/    ..................................  // 从coffee-script domcom/src/生成的javascript文件夹
    |- static/    ...............................  // 用于演示和测试的公用静态文件库，包含bootstrap和sinon
    |
    |- README.md    .............................  // README，用于github和npm
    |- LICENSE    ...............................  // domcom采用的MIT LICENSE
    |- gulpfile.js    ...........................  // gulpfile, 只是require gulpfile.coffee
    |- gulpfile.coffee    .......................  // 实际的gulpfile，coffee-script源代码
    |- webpack.config.coffee    .................  // webpack配置文件, 构建webpack工作流
    |- package.json     .........................  // node_modules packages json 文件，用于npm
    |- bower.json     ...........................  // bower json文件，用于bower
    |- .bowerrc     .............................  // .bowerrc，bower config文件
    |- .gitattribute     ........................  // .gitattribute，用于git
    |- .gitignore     ...........................  // .gitignore，用于git, git忽略的文件和文件夹列表
    |
    |- node_modules/    .........................  // node modules文件夹 依据npm package.json
    \- bower_components/    .....................  // bower components文件夹

