0.2.2 • Published 6 years ago
horse-generator v0.2.2
HORESE GENERATOR
Opinionated. minimalist and restful api structure for web framework, such as koa, express . Inspired by express-generator and generator-angular-fullstack.
Quick Start
The quickest way to get started with a koa app is to utilize the executable horse
to generate an application as shown below:
Create the app:
npm install -g horse
horse /projects/hello-horse && cd /projects/hello-horse
Install dependencies:
npm install
Options
-t, --theme [name]
switch application theme to white|green|violet|red. Defaults to red.-d, --db [engine]
change database to one of mysql|postgresql|mongo|redis|memory|disk. Defaults to disk.-c, --css [engine]
add stylesheet support sass|plain. Defaults to plain css.-a, --auth [type]
add type authentication support qq|wechat|local. Defaults to local only. Use ":" as separator for multiples (f.x. local:qq:wechat). Set tofalse
to disable (likehorse ... -a false
).-e, --template [engine]
change template engine. Support ejs only for now. Defaults to ejs.-i, --i18n
add i18n support. Translations used by i18n-node-2 ported to koa-i18n-S, --no-session
remove session support. Session is enabled by default.-f, --force
force on non-empty directoryExample using layout green, mysql as db, qq and wechat authentication:
horse new-horse -t green -a local:qq:wechat
cd new-horse
npm install
node bin/www
Go to http://localhost:3006 and have fun hacking
show me something
green with authhorse myapp -t green -a qq:wechat
:
Structure
app
controller
plain objects to use its methods as routes
model
uses mongoose
proxy
view
templates
error
error views (401,403,404,error)
layouts
layouts folder (main, error)
site
application views (index, login)
auth
authentication and authorization methodslocal
qq
config
routes, general app envenv
locales
if i18n option is setpublic
public foldercss
img
js
middleware
util
Uses
Also
- koa-bodyparser to handle post data easier
- koa-static exposes assets (js e css)
- koa-router you know, for routes
Optional
- koa-generic-session if has session support
- koa-flash for session flash messages
- koa-locale if option i18n is set
- koa-i18n if option i18n is set
Roadmap
Notes
$ npm install -g n
$ n 8.0.0