Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
node.js mvc module for express
JavaScript
branch: master
Failed to load latest commit information.
samples 0.0.4
Readme.md Update Readme.md
controller.js
index.js 0.0.4
package.json 0.0.4
xml.js 0.0.1

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
Something went wrong with that request. Please try again.