vue+koa+sequlize 搭建使程序员专注业务代码开发框架---项目结构思考(一)

  好久没进行日常积累了。最近闲着没事写了一个自己业务开发框架,感觉有一些收获,对于webpack、koa等等都有了一些新的认识,总的来说还是挺有收获的,今天开始分享一下自己的经验,和记录其中踩到的坑。

  由于我希望将代码之后代码中具有以下几种特点

  1. client和server进行分离,不包含耦合成分。
  2. server使用script标签的形式进行引用前端的代码。
  3. 前端的页面不能只有一个入口,多入口的形式可以减少业务的耦合。增加代码的可维护性。
  4. 前后端交互的数据不应该只是使用ajax请求进行请求,应该在一定程度上开始就具有某些初始数据。能有一定程度上的减少单页seo相关问题。
  5. 区分开发环境和线上环境。
  6. server进行分层。大致分为routes、controlers、services、dao、models、views。
  7. 每个层次上层进行配置。方便抽离共有代码到一起。使用起来方便一些。
  8. 使用eslint进行代码检测

  其中还有一些细小的思考,在后面一一再详细说说。



  文件大概结构如下

|____config                server运行时的配置文件
|____server                后端代码主要在这里
| |____middleware                koa的中间件放在这里
| |____dao                与数据库相关的代码
| |____models                数据库表的映射json
| |____lib                server的一些方法类
| |____controllers                前端请求的处理方法存放位置 主要处理前端逻辑
| |____views                后端模板引擎的存放位置
| | |____common                共有模板
| | |____pages                按照业务划分的模板
| |____routes                接收路由的存放位置
| |____app.js                server主文件入口
| |____services                对于数据库返回的数据进行整理
| | |____test                测试的文件夹
| | |____base                services的base类存放位置
|____setting                项目搭建过程中的配置文件
|____client                前端代码存放位置
| |____config                webpack相关配置
| |____build                 webpack相关配置
| |____src                前端代码主要的位置
| | |____test                测试文件夹
| | |____common                前端共有模板的存放位置

  简单罗列了部分文件夹的作用。其中包含了主要的配置文件夹,以及client和server的位置。其中有一些详细的思考在后面再慢慢写吧。

  该项目的github地址:https://github.com/acefeng/feng

原文地址:https://www.cnblogs.com/acefeng/p/11320321.html

时间: 2024-11-14 13:08:23

vue+koa+sequlize 搭建使程序员专注业务代码开发框架---项目结构思考(一)的相关文章

分针网——每日分享:10个程序员常用的代码简写技术

更多文章:www.f-z.cn 今天小编我给大家整理了一份10个程序员常用的代码简写技术,看懂一种是入门,全懂就是大神,你能知道几个呢? 1.三元操作符 当想写if...else语句时,使用三元操作符来代替. const x = 20;let answer;if (x > 10) { 简写: const answer = x > 10 ? 'is greater' : 'is lesser'; 也可以嵌套if语句: const big = x > 10 ? " greater

当程序员说“这代码写的可真烂”,他们的意思是“这烂代码不是我写的”。而当他们说这段代码有些“小问题”时,很可能这代码是他们自己写的

英文原文:What Programmers Say vs. What They Mean 你是否听到过同事说“这段代码不言自明”?你的同事的这句话的实际意思是这段代码不需要写注释. 你也许注意到了,很多时候,程序员所说的话的字面意思和其真实的意思是完全不同的.不用惊异,下面你将很快知道这些暧昧的短语和其深层次的意思都是什么. 最近 Imgur 上出现了一张图片,里面列举的程序员的一些专业术语和其含义,它能很好的帮助你理解这些话的真实意思.这里是对其中的精华进行的总结. 典型的程序员之间的对话 当

汇道科技:如果以后程序员写不动代码了怎么办?

最近汇道科技办公室关于"程序员写不动代码了怎么办?"引发了很多人的讨论,一开始讨论的对象只是"当事人"程序员们,后面到各行各业,同时大家讨论的几个点也引人深思: 1.35岁写不动代码了怎么办?  你不得不承认,对于新事物的兴趣在下降,就如同不再有见漂亮姑娘时的小兔乱撞,就如同不再有见到梦想时的热血跌宕.就是如此尴尬的一个年龄,偏偏又生在互联网,这个到处都是常青藤生产线的艺术品,不比资历只比朝气的行业. 首先小编认为35岁并不是一个很可怕的年纪,三十而立,三十五岁正当

【健康生活】讨论程序员一天代码量

讨论程序员一天代码量. 虽然可能有一些符号.注释等一些比较占行. 那么一名合格的程序员,一天代码量应该在多少行. 200? 500? 1000? 欢迎大家来讨论. [健康生活]讨论程序员一天代码量

程序员写的代码bug超过十个bug就辞退?

某大型软件公司-- 领导:现在咱们研发部门有好几个项目组了,有上百名开发,需要评定大家的绩效. HR:对,我觉得公司天天最闲散的就是他们,天天迟到,来了就对着电脑敲啊敲,别人不懂技术也不知道他们做的怎么样. 领导:就是就是,你看咱们就没有一个项目没延期过,要加强绩效考核! HR:从今天开始,我们以大家的代码行数为评定绩效的标准. 程序员们:代码行数,这好办啊,咱多来点换行,空行.能写成两行的绝不写成一行. 过了一个月-- 领导:研发部门上个月的绩效怎么样? HR:他们上个月绩效都很好,平均行数上

程序员必备,C#各类项目、开源项目插件资料收藏

一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率. NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP.NKalore的语法简单.直观,它的编译器是基于Mono C#编译器(MCS).NKalore目前只能在命令行或#Develop内部使用.NKalore兼容公共语言规范CLS

如何处理前任程序员留下的代码

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的.我们不熟悉的.与我们负责的系统部分无关的代码中时,会遇到麻烦.虽然这可能会是一个繁琐而艰巨的任务,但是由于使用其他开发人员编写的代码有很大的灵活性,所以我们可以从中得到大大的好处,包括增加我们的影响范围,修复软件腐烂以及学习我们以前不了解的系统部分(更何况,还可以学习其他程序员的技术和技巧). 考虑到使用其他开发人员编写的代码既有其厌烦之处,又有其优势所在,所以我们必须小心不要犯一些严重的错误: 我们的自我意识:

程序员如何承接软件外包项目

现在外包的软件项目不断增长,但随之而来的,承接外包的软件公司.软件团队也越来越多,包括很多个人SOHO一族也加入到承接软件的竞争行列中来了,因此现在对于软件项目的争夺也很激烈.有很多人不知道上哪里去争取项目,总是抱怨没有项目做:也有的人虽然编程技术不错,但是对于与客户谈项目却是一窍不通,结果应该拿到的项目也拿不到手:也有的虽然已经接到了项目,却发现在实施开发的时候遇到好多从来没有遇到过的问题.作为一个多年从事外包项目接单的软件开发人士,我想从以下几方面谈谈我的经验,希望对大家会有所帮助.第一点,

关于中文编程是解决中国程序员效率的秘密武器的问题思考

中文编程在理论上确实可以提高中国程序员或者说是在汉语言环境下成长学习的人,因为语言环境可以影响一个人的思维方式和习惯,我们对英语的学习局限于课堂知识的学习,没有一个比较好的英语环境,所以我们的思维在很大程度上很难去按照英语的一些思维习惯去理解和做事,所以在这方面上理解我是认可中文编程是一个解决中国程序员效率的一个方式. 就像以英语为语言进行设计的各种编程语言一样,汉语编程的发展和成熟也需要一个时间,不可能一蹴而就,不只需要成熟的语言系统还需要一种甚至是几种适合各种任务的编译软件,我们现在主流的语