在不一样的开发开发不一样复杂程度的项目,一直想写一篇项目开发中的一些我的总结以及经验分享,本文主要讲述咱们做为前端开发在项目中须要注意的点以及一些我的的经验之谈。前端
每一个公司都有本身的开发流程,在流程中须要注意的事项有不少,尤为面对较为复杂的项目,一个不注意,可能就会给本身挖坑,例如:对需求解读的不完全,致使时间预估严重不够等,所以,每一个环节都建议你们严谨认真,切不可粗枝大叶,一年之中,一个失误就有可能让你一个季度或者一年的努力白费,下面我罗列下我的认为每一个环节须要注意的事项。vue
背景
、做用
、价值
以及具体所须要作的事,了解每一个需求背后的背景、价值等有助于你培养对产品的大局观
,了解需求的详细内容,有助于你更好的把控这个需求,掌握其所需的工做量和难度以及风险。技术方案尽量的详尽,让人直观的能了解到你对这个业务的总体设计、分层、封装等。技术方案是在不断完善的,所以开发的同时,也尽量的去同步更新你的详细技术方案,以便于在代码检视的时候去为同事讲述。我的认为前端的技术方案设计应该包含如下几点:node
开发中一些经验之谈:react
先充分解读需求和ui
,在脑子里有个大体的图;项目开发的目录结构相当重要,我的习惯喜欢将目录跟路由挂钩,目录结构直观能看出路由规划,所以在开发前,我的会先根据ui设计建立页面的总体目录结构,根据总体结构来设计路由。后端
项目中时常会有许多枚举变量,例如状态、类型等,我的建议将这些状态定义成有意义的枚举变量再进行使用,不要直接拿来用,防止过段时间回过头来看代码时,一脸茫然,在定义枚举时,建议简单枚举平铺定义,针对一个类型枚举过多的状况可使用map,例如:api
const TYPE_ENUMS_MAP = {
going: 1,
willBegin: 2,
finished: 3,
...
};
// 少许时,平铺定义;
const WORK_HAS_FINISHED = 1;
复制代码
当下前端开发开发,一般都会使用vue、react,使用组件化的开发方式,我的建议合理把握组件拆封的颗粒度,不用过小,也不能太大,过小可能致使传参的层级过多,太大可能致使单个组件或者页面内容太多,不利于维护或者复用,合理把握颗粒度,合理规划目录,遇到模块内几个页面通用的组件提取为模块组件,遇到可能全局都会用到的组件提取为全局组件,页面私有的组件放在页面目录下,设为普通页面组件,合理的颗粒度划分,合理的存放结构有助于你代码的合理复用和维护。markdown
mock开发是高效联调的必要条件,后端接口未彻底开发完成前,咱们能够利用mock平台先使用mock接口调试代码,我的推荐公司部署yapi平台。此前,须要先后端先定义和约定好接口入参和反参的结构,这一步很重要,必定要在开发前提早让后端同窗录入接口并check接口的可用性和合理性,再投入开发,开发时,为了不接口路径的替换,咱们一般会给脚手架提供mock环境,mock环境下接口走mock代理到mock平台(yapi),这里有两种方法来区分路径:组件化
1. 经过环境变量来区分接口路径:
const serviceConf = {
url: '/user/getUserInfo',
mockUrl: 'http://mock.yapi.com/10/user/getUserInfo',
};
2. 经过代理的方式:
配置接口代理(以yapi为例,yapi的接口规则, https://yapi.dev.com/{项目编号}/{接口相对路径}):
mock.conf.js:
module.exports = {
100: [
'/user/getUserInfo',
]
}
配置完代理配置,再动态的读取代理配置,生成接口代理传入脚手架的proxy中。该方法的好处是不会将调试的
mock代码打入最后的包中,相比于第一种方式更合理。
此外,为了能动态响应配置的变动,咱们可使用nodeMon来监听咱们的配置并动态的重启项目;
nodemon --watch mockProxy.conf.js --exec .....
复制代码