【除草】拾荒基础叉-miniadmin

2017-01-07  本文已影响23人  懒先森

无论你的应用界面上过多少次《xxx个优秀界面设计》,无论你的交互上过多少次《xxx个炫酷交互设计》最终落地还是数据,说白了核心就是对数据的处理。
大用户规模的没搞过,小来小去的倒是没事就搭搭,这篇总结一下去年拾荒2个月里用node mysql做的小后台。

为什么选 node

答案:别的不溜
可别跟我聊php node java python asp.net go ruby 哪个更适合做服务 哪个更适合做哪种服务……
哪个手头最熟悉就来哪个 几年不搞java 怎么配环境都忘差不多了 就直接node吧起码语法 api不用再温习。
所以想知道具体什么语言适合什么业务 去搜吧 知识的获取越来越廉价 实践正变得昂贵起来。

搭配点什么

这年头程序员不随嘴拽个技术栈 都不配称为猴子了。就像王者荣耀,出招就得连,套路。
选技能、装备都有遵循你的目的,我的目的是二话不说就能搭出来能用的东西
so:
1技能-koa
2技能-vue
3技能-mysql

koa 建议选装

vue干嘛

vue主要是用来迅速构建后台视图,单文件组件、数据绑定、超好用的文档是选择它最重要的理由。

why not react?
会增加一些上手成本 选择可以遵循一个原则 如果该库的产物是由简单的基础物件作为输入得到的 那么可以优选,比如 vue一个组件就是由完全一致的css\html(template)\js构成 完全可以应用已有知识迅速编写,而react你得把jsx语法说明看看吧?
拾荒阶段孤狼最怕两件事:

koa小套装 为啥还用2??

router,body 不自己写真是不知道心累,时间一下子拉到大三 用HttpRequest写servlet 再去接触struts这类的 真是轻松多了……
习惯用express的也可以 koa api就一页……看着轻松 为什么用2呢?
因为 async / await
回调缩的手疼、promise then的头疼、generator 搞得我yield疼
我终究是个人类 编程思维还是倾向于同步流 async / await 带给我的体验:

  1. 从数据库查询数据
  2. 等拿到数据 输出execl
  3. 等输出完execl response回去
const results = await db.excute(sql);
const exportResult = await fs.writeFile(...);//对返回值封装下
return exportResult;

对…… 我就喜欢这个关键字 await……蜜汁好用 人工书写的代码还是有可观减少的~

ps 对于一些自定义过程或者不支持promise的api 还是要用promise去封装下~

const excute = (sqlString, query) => {
    return new Promise((resolve, reject) => {
        pool.getConnection((err, connection) => {
            if(err){
                logger.debug("debug:获取数据库连接错误:" + err);
            }
            logger.debug("pool-success")
            connection.query(sqlString,query, (err, rows) => {
                if (err) {
                    logger.debug("debug:数据库操作错误:" + err);
                    reject(err);
                } else {
                    logger.debug('rows:'+JSON.stringify(rows));
                    resolve(rows);
                    connection.release();
                }
            })
        })
    })
}

项目结构

叨叨完 进入正篇,拾荒最重要的就是服务端也就是接口相关的一些开发。着重来说下这部分。
普通的不能再普通的分为

当然如果做的好 沉淀下来 可以挂上日志、重启等功能。

埋坑:

未完。。。我去再开个另一个文章头……

=========更新===========

这几个月一直是写sql来着……所以发现一开始懒 是错误的……
所以要么你自己封装个orm要么就抓紧选一个
更新点:

基础流程

httprequest-->server-->router-->eg:get/post-->verifyToken-->controller-->model-->controller-->httpresponse
千百年来 从asp.net java servlet 到j2ee 乃至node-server 再怎么新的东西……思路都这样 请求进来 filter 路由分发 业务处理数据 要么计算 要么通信 要么持久化 然后再把屎盆子扣回去。

上一篇 下一篇

猜你喜欢

热点阅读