§ 目录结构

.
├── build/ # Webpack 配置目录
├── dist/ # build 生成的生产环境下的项目
├── src/ # 源码目录(开发都在这里进行)
│ ├── assets/ # 放置需要经由 Webpack 处理的静态文件
│ ├── components/ # 组件
│ ├── filters/ # 过滤器
│ ├── store/      # 状态管理
│ ├── routes/ # 路由
│ ├── services/ # 服务(统一管理 XHR 请求)
│ ├── utils/ # 工具类
│ ├── views/ # 路由页面组件
│ ├── app.js # 启动文件
│ ├── index.html # 静态基页
├── static/ # 放置无需经由 Webpack 处理的静态文件
├── .babelrc # Babel 转码配置
├── .eslintignore # (配置)ESLint 检查中需忽略的文件(夹)
├── .eslintrc # ESLint 配置
├── .gitignore # (配置)需被 Git 忽略的文件(夹)
├── package.json # (这个就不用多解释了吧)
├── package-lock.json    # (以记录当前状态下实际安装的各个npm package的具体来源和版本号)
 

您可以根据业务需求改动目录结构

上述目录结构中,需要注意的是 src/components/ 与 src/views/ 的区别

src/components/                    # 组件
├── App.vue # 根组件
├── Breadcrumb.vue # 面包屑
├── Navbar.vue # 顶部导航栏
├── Pagination.vue # 分页
├── Select/ # 下拉框选择框组件
│ ├── LimitSelect.vue # “每页显示多少条记录” 下拉选择框
│ └── Select2.vue # 对 Select2 的封装
└── Sidebar/ # 侧边栏组件
├── index.vue # 侧边栏
└── Link.vue # 导航链接封装 src/views/ # 路由页面组件
├── index.vue # 首页
├── auth/ # 用户认证模块
│ ├── login.vue # 登录页
│ └── logout.vue # 注销登录页
└── msg/ # 留言板模块
├── index.vue # 对应 /msg(留言板首页,alias => /msg/list)
├── list.vue # 对应 /msg/list(留言板列表)
├── add.vue # 对应 /msg/add(新增留言)
├── detail.vue # 对应 /msg/detail/:msgId(查看留言)
├── update.vue # 对应 /msg/update/:msgId(修改留言)
├── _components/ # 留言板模块共用组件
│ ├── AuthorSelect.vue # 留言发布者选择下拉框
│ ├── MsgForm.vue # 留言表单
│ └── OptBtnGroup.vue # 留言操作按钮组
└── _mixins/ # 留言板模块共用 mixins
└── autoLoadByParams.js # 根据 $route.params.msgId 自动加载

根据注释,我们大概知道了二者的差别:

src/components/

  • 主要是全局性的,或通用性很强的组件,具备良好的封装性
  • 一般不会涉及到具体的业务逻辑

src/views/

  • 主要是业务性的页面组件,基本不具备通用性
  • 基本与路由一一对应(例如 /src/views/auth/login.vue 对应着路由 /auth/login
  • 各功能模块(如 msg/)内部可分离出通用部分(如 _components/_mixins/

若多个功能模块通用的,则建议移到全局,即 src/components/src/mixins/ 等

vue项目开发基本目录结构的更多相关文章

  1. spring boot 项目开发常用目录结构

    在spring boot开发中一些常用的目录划分 转载自https://blog.csdn.net/Auntvt/article/details/80381756: 一.代码层结构 根目录:net.c ...

  2. YII框架开发一个项目的通用目录结构

    YII框架开发一个项目的通用目录结构: 3 testdrive/ 4 index.php Web 应用入口脚本文件 5 assets/ 包含公开的资源文件 6 css/ 包含 CSS 文件 7 ima ...

  3. Vue项目开发相关问题总结

    Vue项目开发相关问题总结 一.创建一个项目(两种方式) 1.通过CLI命令行创建,具体步骤如下: (1)Node 版本要求 Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11 ...

  4. Vue项目开发最新、最全代码规范文档

    Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337   一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...

  5. Vue 项目开发

    目录 Vue 项目开发 项目目录结构解析 入口文件 main.js (项目入口) 根组件 app.vue index.html 文件入口 router 路由 components 子组件 项目初始化 ...

  6. maven 创建web项目的标准目录结构

      maven 创建web项目的标准目录结构 CreateTime--2018年4月18日21:05:37 Author:Marydon 1.标准目录介绍(开发目录) 2.在eclipse下,目录展示 ...

  7. 一种模块化开发的目录结构和部署tips

    开发环境 开发态目录结构类似: 然后用express的static,将上下文映射到static那级目录上,比如访问: http://ip:5000/employee/employeeList.html ...

  8. maven项目的标准目录结构

    maven项目的标准目录结构如下:

  9. Vue项目开发目录结构

    最近做一些CI+Vue开发的简单项目,由于刚开始一直从事后端,对Vue了解不是很多,fork了团队的项目代码发现项目的文件夹很多,一时间有些懵,上网上参考了部分资料,博客园中的放晴的天空与狮子爱吃草两 ...

随机推荐

  1. HTML5+CSS3-学习总结

    这是第三次学标签和样式了,虽然距离上次差不多2年.可学过的东西依旧还在. 体会 1.  相对于前端技术,基础还是很重要的. 2.  虽然很繁多.并不是杂乱无章的. 3.  HTML5在新增的几个标签, ...

  2. LeetCode第十八题-四数之和

    4Sum 问题简介:定n个整数和整数目标的数组nums,是否有元素a,b,c,d在nums中,使a+b+c+d=target? 举例: 给定数组 nums = [1, 0, -1, 0, -2, 2] ...

  3. python自定义封装logging模块

    #coding:utf-8 import logging class TestLog(object): ''' 封装后的logging ''' def __init__(self , logger = ...

  4. 使用SecureCRT做端口转发

    我的笔记本只能访问跳板机,跳板机是Linux系统,访问内网机器需要在跳板机内通过ssh命令访问,特别不方便,而且我们还需要访问Windows或web网站. 这是我们就可以做一个端口转发,通过自己的笔记 ...

  5. Ubuntu如何安装vncserver

    Ubuntu上安装和配置vncserver,然后通过客户端进行连接,就能够使用图像界面的方式来运行上面的软件了. 1.使用apt-cache search vncserver命令搜索可以用来安装vnc ...

  6. vscode添加prettier格式化自动加分号问题

    在vscode的settings.json中添加: "prettier.singleQuote": true, "prettier.semi": false, ...

  7. 题解 P5315 【头像上传】

    本题就是按照题目模拟, 只是要注意一些细节问题. 看代码注释 #include<bits/stdc++.h> using namespace std; int n,l,g,i; int m ...

  8. ansible-mysql

    ansible mysql -m command -a "yum -y install https://www.percona.com/downloads/percona-monitorin ...

  9. 【lamba】java 8的新特性

    看到lamba表达式用起来还不错,找了几篇文章学习下: 所以结合之前两个反编译的结果可以看到,lamdba表达式运行整体思路大致如下: 1. lamdba表达式被编译生成当前类的一个私有静态方法 2. ...

  10. centos7系列Cobbler+kickstart全自动装机实战

    配置yum源,以及epel源 [root@crobbler-90111 ~]# cat /etc/yum.repos.d/aliyun.repo [epel] name=ailiyun baseurl ...