基于Vue-cli脚手架的结构基础划分:
~~~
├── index.html 入口页面
├── build 构建脚本目录
│ ├── 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 测试环境变量
├── mock mock数据目录
│ └── hello.js
├── package.json npm包配置文件,里面定义了项目的npm脚本,依赖包等信息
├── src 项目源码目录
│ ├── main.js 入口js文件
│ ├── App.vue 根组件
│ ├── components 公共组件目录
│ │ └── title.vue
│ ├── assets 资源目录,这里的资源会被wabpack构建
│ │ ├── css 公共样式文件目录
│ │ ├── js 公共js文件目录
│ │ └── images 图片存放目录
│ ├── api 请求api
│ │ └── user.js
│ ├── store 应用级数据(state)
│ │ └── index.js
│ └── pages 所有页面
│ └── home home页面
│ ├── components home页面的组件
│ │ ├── header.vue
│ │ └── footer.vue
│ └home.vue
├── static 纯静态资源,不会被wabpack构建。
└── test 测试文件目录(unit&e2e)
└── unit 单元测试
├── index.js 入口脚本
├── karma.conf.js karma配置文件
└── specs 单测case目录
└── Hello.spec.js
~~~
vue文件基本结构:
~~~
<template>
<div>
<!--必须在div中编写页面-->
</div>
</template>
<script>
export default {
components : {
},
data () {
return {
}
},
methods: {
},
mounted() {
}
}
</script>
<!--声明语言,并且添加scoped-->
<style lang="scss" scoped>
</style>
~~~
vue文件方法声明顺序:
- components
- props
- data
- created
- mounted
- activited
- update
- beforeRouteUpdate
- metods
- filter
- computed
- watch
data props 方法注意点:
~~~
* 使用 data 里的变量时请先在 data 里面初始化
* props 指定类型,也就是 type
* props 改变父组件数据 基础类型用 $emit ,复杂类型直接改
* 表单数据请包裹一层 form
~~~
生命周期方法注意点:
~~~
* 不在 mounted、created 之类的方法写逻辑,取 ajax 数据,
* 在 created 里面监听 Bus 事件
~~~
