最近参与了好几个项目,都是以vue-cli脚手架生成的项目,参与完成之后,有点关于项目文件组织的看法,很想聊聊。

关于目录

由vue-cli脚手架生成的项目,都会生成一个基本的目录格式。

类似于这种,项目中我们还会用到vuex,所以多数情况下,我们会在src目录下,创建一个store文件夹,存放关于vuex数据。
然后就是项目文件了。

  • 项目中,会创建如下多个目录,进行业务组织

    • api: 存放所有接口调用的文件
    • assets: 图片、css等
    • components: 组件,纯组件,基本上不包含业务代码
    • icons:存放项目中用到的icon图标,svg文件
    • plugins:存放第三方插件,诸如UI插件element-ui, 图标插件echarts等等
    • resource: 存放一些额外的资源文件(很多项目未必会有),类似于echarts绘制地图所需的json文件
    • utils:工具存储,axios拦截器,常量文件等等
    • vendor: 基本上很少用到,我仅仅存放了一个table2excel的js导出文件,也可以存入utils
    • view或者pages: 存放真正的业务文件

如此,基本上够项目使用了,至少到目前为止我是够用的。
关于业务代码文件view,还需要多说一下,一定不能所有业务组件直接就丢在view里面,会在下面的关于代码风格细说。

关于代码风格

vue.js官方其实推出了官方风格指南,不知道是不是vuer是不是都看了,或者看了之后,是否去遵守。即使不遵守他官方风格指南,那是不是理解了他出这一份指南的良苦用心,而形成了自己独特的代码组织风格。
如果什么都没做,依然属于随心所欲,那么还是去看看,仔细看看。

  • 介绍一下我的代码组织,基本上以业务导航为基本的指导方向,每一个菜单为一个独立文件夹,文件夹首字母大写

    • User: 用户管理模块,基本上包括登录、注册、找回密码
    • 404:提供一个404页面,属于业务友好
    • Home: 首页,基本上每个项目都必然有首页的存在,不管首页内容是啥
    • ...

剩下的就是每一个菜单一个文件夹,点击该菜单所进入的页面,命名为index.vue,唯一的首字母小写的.vue文件,其他的所有vue文件组织,遵循官方风格指南。

关于代码规范

既然说到了代码风格,那么必然涉及到代码规范的问题,尤其是在多人协同开发的情况下,如果每个人所用的ide不一样,又没有统一的代码规范,那么利用svn或者git做代码托管之后,更新别人的代码和提交自己的代码,将是一种无比痛苦的事情。

举一个简单的例子,关于代码缩进,有人用两个空格,有人用4个空格,然后拉去代码之后,在自己的ide打开,遇到安装了prettier插件,那是不是想死?

所以有必要统一代码规范,尤其是同一个公司的项目。

那么,不得不说eslint了,项目启动之初,安装eslint,并修正ide的prettier插件的格式化规则,必不可少,虽然这必然是一个痛苦的过程,但是好在只要遵守同一份代码规范,那么这就是一劳永逸的工作。

转载于:https://www.cnblogs.com/zhuhuoxingguang/p/11504396.html

关于vue项目的文件组织相关推荐

  1. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  2. vue项目nginx部署子目录_vue 多项目部署---二级目录

    新项目:同一域名下部署多个vue项目, 根目录vue项目不需要按下面的方式进行打包部署 https://www.bitedit.com/ 下面三个项目以二级目录部署 https://www.bited ...

  3. 【亲测可用】用Electron和electron-builder打包Vue项目为exe可执行文件安装包(不推荐,个人觉得没有VNISEdit和NW好用,而且有些配置文件还挺脑残!)

    官方帮助文档http://www.electronjs.org/docs 有时候运行安装依赖包会很慢建议在(c)npm config edit之后弹出的.(c)npmrc记事本里面加入 electro ...

  4. 【2】Vue项目引用Element UI(饿了么框架)菜单导航条初期配置

    首先要理解Vue项目加载顺序: index.html → main.js → App.vue → nav.json→ routes.js → page1.vue index.html建议加入样式 &l ...

  5. 【1】用命令行搭建Vue项目

    先安装Node.js http://nodejs.cn/download 推荐国人安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.n ...

  6. vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...

    一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...

  7. vue html引入资源dev下404,webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)...

    最近在使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报404错误...网上查找了一堆解决办法,总结如下 一.首先修改c ...

  8. 用 cooking 搭建一个简单又优雅的 Vue 项目开发环境 (入门篇)

    本文适合 Vue 的初学者,以及对 webpack 不熟悉的同学阅读.前提是你要会用基本的命令行. Node 和 NPM,以及掌握 ES2015 的基础知识.本文都是在 macOS 环境下运行,要求使 ...

  9. VSCode搭建Vue项目

    个人资源与分享网站:http://xiaocaoshare.com/ 1.假设Vscode.nodejs等已经安装好了. 2.全局安装vue-cli,vue-cli可以帮助我们快速构建Vue项目. 安 ...

  10. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

最新文章

  1. (0104)iOS开发之在Mac上用Charles给iPhone抓包
  2. 【错误记录】Android Studio 编译报错 ( Deprecated Gradle features were used in this build, making it incompat )
  3. 【自由随想录(一)】
  4. tcp 三次握手,四次挥手
  5. 【2016年第5期】生态经营论
  6. 综合演练 实现登陆功能 1124
  7. 【英语学习】【Daily English】U15 Culture L01 You'll be used to life here before long
  8. 骑马与砍杀服务器修复,骑马与砍杀21.3.1公共版和热修说明 修复联机模式
  9. ***mysql 用一个表的一列,去更新另一表的一列
  10. iOS并发编程(GCD)学习笔记
  11. springboot2.4+nettyWebServerApplicationContext@15f51c50 has been closed already问题解决
  12. 为什么原理图中元器件下面有红色波浪线?
  13. 迪普交换机恢复出厂设置_迪普产品配置文档-基础篇(2012-11-05).pdf
  14. MPLUS 2-2-1型 中介效应模型
  15. Python-温度转换
  16. JavaScript根据用户输入动态计算周数
  17. 计算机组成原理:循环冗余校验码CRC具备“一位纠错”功能的思考与探索
  18. Centos7搭建lamp环境后外网浏览器不能访问
  19. 非结构化数据的定义及处理方法
  20. mysql useing_mysql中using where,using index

热门文章

  1. 跟“网址”有关的$_SERVER[ ]变量
  2. 温故而知新:查看端口占用情况以及DOS中的管道操作/重定向操作
  3. 传说中的80后的17条潜规则,你占了几条...
  4. QuickServer开发指南(4)- 添加认证
  5. poj 1001 Exponentiation java解决!!!
  6. 如何在 iPhone、iPad、Mac 和 PC 上设置 iCloud 照片共享?
  7. iOS开发之UITableView自定义Header视图和自定义Footer视图
  8. iOS开发之基础面试题
  9. DVD-Cloner 2021 for mac(DVD光盘刻录工具)
  10. 《长城保护总体规划》出台 为长城保护提供遵循依据