• Tags
  •         
  • www.breakyizhan.com
  •    

    使用了 VUE的npm 安装之后,我们在 IDE(Eclipse、Intellij) 中打开该目录,结构如下所示:

    Vue目录结构详解

    ├── index.html                      入口页面
    ├── build                           构建脚本目录(项目构建(webpack)相关代码)
    │   ├── build-server.js                 运行本地构建服务器,可以访问构建后的页面
    │   ├── build.js                        生产环境构建脚本
    │   ├── dev-client.js                   开发服务器热重载脚本,主要用来实现开发阶段的页面自动刷新
    │   ├── dev-server.js                   运行本地开发服务器
    │   ├── utils.js                        构建相关工具方法
    │   ├── webpack.base.conf.js            wabpack基础配置
    │   ├── webpack.dev.conf.js             wabpack开发环境配置
    │   └── webpack.prod.conf.js            wabpack生产环境配置
    ├── config                          项目配置(配置目录,包括端口号等)
    │   ├── dev.env.js                      开发环境变量
    │   ├── index.js                        项目配置文件
    │   ├── prod.env.js                     生产环境变量
    │   └── test.env.js                     测试环境变量
    ├── node_modules                    npm 加载的项目依赖模块
    ├── mock                            mock数据目录
    │   └── hello.js
    ├── package.json                    npm包配置文件,里面定义了项目的npm脚本,依赖包等信息
    ├── src                             项目源码目录 (这里是我们要开发的目录,基本上要做的事情都在这个目录里)  
    │   ├── main.js                         入口js文件
    │   ├── app.vue                         根组件
    │   ├── components                      公共组件目录
    │   │   └── title.vue
    │   ├── assets                          资源目录,这里的资源会被wabpack构建
    │   │   └── images
    │   │       └── logo.png
    │   ├── routes                          前端路由
    │   │   └── index.js
    │   ├── store                           应用级数据(state)
    │   │   └── index.js
    │   └── views                           页面目录
    │       ├── hello.vue
    │       └── notfound.vue
    ├── static                          纯静态资源,不会被wabpack构建。
    └── test                            测试文件目录(unit&e2e)
    └── unit                            单元测试
    ├── index.js                        入口脚本
    ├── karma.conf.js                   karma配置文件
    └── specs                           单测case目录
    └── Hello.spec.js
    

    VUE的组件化

    VUE整个应用通过 vue 组件的方式搭建起来,而关键就是src/app.vue这个根组件,我们可以预先看一下根组件和组件树结构:

    app.vue                            根组件(整个应用只有一个)
    ├──view1.vue                  页面级组件,放在 views 目录里面,有子组件时,可以建立子目录
    │   ├──component1.vue               功能组件,公用的放在 components 目录,否则放在 views 子目录
    │   ├──component2.vue
    │   └──component3.vue
    ├──view2.vue
    │   ├──component1.vue
    │   └──component4.vue
    └──view3.vue
    ├──component5.vue
    ……
    

    我们可以再来了解一下src/app.vue这个文件,可以看到导入了'./components/Hello'这个组件,所以src/app.vue这个根组件下面带着很多src/components/Hello.vue这样的子组件。
    src/app.vue文件:

    <!-- 展示模板 -->
    <template>
    <div id="app">
    <img src="./assets/logo.png">
    <hello></hello>
    </div>
    </template>
    <script>
    // 导入组件
    import Hello from './components/Hello'
    export default {
    name: 'app',
    components: {
    Hello
    }
    }
    </script>
    <!-- 样式代码 -->
    <style>
    #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #2c3e50;
    margin-top: 60px;
    }
    </style>
    

    src/components/Hello.vue文件:

    <template>
    <div class="hello">
    <h1>{{ msg }}</h1>
    </div>
    </template>
    <script>
    export default {
    name: 'hello',
    data () {
    return {
    msg: '欢迎来到Break易站!'
    }
    }
    }
    </script>
    

     
    转载请保留页面地址:https://www.breakyizhan.com/vue/6677.html