前端乱炖博客的repo。http://www.html-js.com
JavaScript HTML CSS Other
Latest commit c046f56 Sep 7, 2016 @xinyu198736 committed on GitHub Update article.jade
Permalink
Failed to load latest commit information.
assets 登录注册调通 Aug 19, 2015
controllers 年度总结 Feb 23, 2016
filters tags Aug 7, 2015
functions 年度总结 Feb 23, 2016
lib Update translate.coffee Feb 25, 2016
models 文章的静态评分 Feb 23, 2016
node_modules 登录注册调通 Aug 19, 2015
resumes 开放问答 Aug 6, 2014
static dd Feb 24, 2016
tools dd Feb 24, 2016
utils basetarget Jan 13, 2014
views Update article.jade Sep 7, 2016
.gitignore dd Jan 12, 2015
README.md dd Sep 26, 2014
agent.log 登录注册调通 Aug 19, 2015
config.coffee.example 配置文件例子 May 4, 2014
data.json 草稿功能 Sep 17, 2014
dict.txt 短连接功能 Jan 27, 2014
index.js fsdf May 28, 2015
package.json 登录注册调通 Aug 19, 2015
run.js ddd Jun 10, 2015
talk-run.js xss Jul 24, 2015
wb_read.coffee 缩略图 Dec 23, 2013

README.md

htmljs

前端乱炖博客的repo。http://www.html-js.com

本站代码仅供参考,缺少配置文件在本地不能运行,基于express,rainbow,sequelize,jade,coffeescript,less,moment等技术和框架。

update:本站代码比较老,建议参考RabbitJS的实现思路,更清晰,原理与此相同:https://github.com/xinyu198736/Rabbit.js

约定模式:

  • 整个系统从数据到最终逻辑分为五层:1.models,2.functions,3.filters,4.routes,5.views d 各部分的功能: ==
  • models,使用sequelize将数据库操作抽象化,使用其规定格式定义数据对象,完全不需要关心数据库的问题。
  • functions,在sequelize上又一层操作封装,主要是各种数据操作,将其封装,供不同的routes或者filters调用。
  • filters,一些复用route的合集,例如用户检查,权限检查,通用module,总之就是各种抽象。
  • routes,逻辑的最顶层,负责请求调度,一个请求经过filters,获取到通用数据,然后进去各自的routes,在routes里调用functions方法操作和获取models定义的数据。然后把数据显示在views上或者直接返回给用户。
  • views,在routes里调用,使用数据渲染页面

全局方法:

使用封装的几个全局方法可以节省大量重复代码。

  • __M 调用方法即可返回一个Model对象,此对象是一个sequelize的model对象,可以直接操作数据库。省去了写初始化配置的代码。
  • __F 调用方法即可返回一个function对象,从functions文件夹里寻找。
  • __FC 调用此方法,可以给某个function生成一些常用的操作方法:getById,getAll,add,update,count,delete
  • __R 未实现,调用方法直接生成常用route,大量节省普通crud的代码量

特点:

  • 不需要写routes配置,routes是按照controllers中的文件夹和文件结构自动生成的,这样一是不需手写配置,二是方便逻辑分离和维护。
  • 无需关心数据库,所有数据的东西都用sequelize来操作。
  • 一些全局方法,自动完成冗余代码,减少重复劳动。

其他:

  • libs 通用的库
  • uploads 上传临时文件
  • assets 静态文件,使用less直接编译
  • run.js 启动
  • config.coffee 配置信息