目录结构
src目录下主要可以分为:
- api (存放api请求,文件名与模型名称基本一致,文件名使用小驼峰,方法名称与后端 restful 控制器一致)
- assets (存放静态资源)
- icons (手机端需要使用svg时,可用于存放,使用svg-sprite-loader插件,具体可以看20201102笔记)
- lang (存放多语言)
- layouts (布局组件)
- mock (需要mock使用,我通常使用mockjs2)
- plugins (存放插件配置,比如 axios,antd 等)
- router (其中还可以根据项目内容划分模块,可以在里面封装对应的方法,例如权限,动态路由的生成)
- store (状态管理)
- styles (可以具体分为color.less flex_box.less,….)
- utils (存放辅助函数)
- views (为业务视图层,其由 vue-router 直接调度)
- main.js (为 app 的入口)
- components (目录,存放组件。通常是一些可复用的组件)
项目规范
每个公司甚至有可能每个项目的规范都不太一样
1.注释:当项目比较大,代码量多的时候,就体现到了注释的重要性,使用vscode的koroFileHeader的插件可以快速生成,很方便
2.数据:前端做的事情可以分为三类,数据请求,状态管理,页面渲染,我再写项目的过程当中通常会在store文件夹下新建models文件,里面在进行模块的划分,把api的请求写在actions里面,在组件里面进行调用(只在views下的组件调用),最后写一个initData()方法,在生命周期调用该方法
3.组件命名:采用驼峰式命名,例如test-demo,组件的name的首字母必须大写
4.eslint: 具体的eslint可以在vscode开启,也会在编译的时候给出提示,让代码更加规范
项目优化
1.webpack: 具体可以看2021年1月8日(webpack项目优化)笔记
2.缓存:
,结合自身需要选择一种合适的缓存方式,有条件的也可以使用cdn
3.代码层面:按照代码规范来就行
安全性
可以查看20201106笔记