node.js mvc module for express
JavaScript
Switch branches/tags
Nothing to show
Latest commit dc3900d Feb 25, 2013 @morozovsk Update Readme.md
Permalink
Failed to load latest commit information.
samples
Readme.md
controller.js
index.js
package.json
xml.js

Readme.md

This is light weight mvc wrapper for express on node.js inspired by Zend Framework on php.

This framework reload modules, controllers and models automatically when they are changed without restart.

###installation

npm install mvc

##samples of application structure:

###without modules (https://github.com/morozovsk/mvc/tree/master/samples/sample-without-modules)

app/
-controllers/
--index.js
-models/
--message.js
-views/
--layout.ejs
--index/
---index.ejs

###with modules (https://github.com/morozovsk/mvc/tree/master/samples/sample-with-modules)

app/
-controllers/
--index.js
-models/
--message.js
-views/
--layout.ejs
--index/
---index.ejs
-modules/
--admin/
---controllers/
----index.js
---models/
----message.js
---views/
----layout.ejs
----index/
-----index.ejs

You can use helpers in your controllers:

this._app - link to express.createServer()
this._request - link to express request
this._response - link to express response
this._params - link to request.params
this._param - link to request.param
this._query - link to request.query
this._cookies - link to request.cookies
this._partial - link to response.partial
this._redirect - link to response.redirect
this._local - link to response._local
this._locals - link to response._locals
this._queryParam(name, defaultValue) - method for request.query like request.param
this._url(params) - method for generate url from object (example: this._url({controller:"message", action:"edit", id: 5}) => '/message/edit?id=5')

routes:

/
/controller
/controller/action
/controller/action?param1=value1&param2=value2
/controller?param1=value1&param2=value2
/module/controller
/module/controller/action
/module/controller/action?param1=value1&param2=value2
/module/controller?param1=value1&param2=value2
/module?param1=value1&param2=value2
/?param1=value1&param2=value2