New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lark-mvc

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lark-mvc - npm Package Compare versions

Comparing version 0.1.1 to 0.2.1

.travis.yml

12

examples/index.js
var koa = require('koa');
var mvc = require('..')
var mvc = require('lark-mvc')
var app = koa();
console.log('reach example index.js')
app.use(function *(next){
var start = new Date;
yield next;
var ms = new Date - start;
console.log('%s %s - %s', this.method, this.url, ms);
}).use(mvc.middleware({'path': 'examples/models'}))
app.use(mvc.middleware({
'path': './models'
}))
.use(function *(next){

@@ -12,0 +8,0 @@ yield next;

@@ -1,6 +0,5 @@

var dao = require('../../../index.js').dao
var demo = dao.create('demo')
var demo = require('lark-mvc').dao.create('demo')
demo.getData = function(){
return 'dao dataServices is loaded!' + '\n'
return 'dao dataServices is loaded!'
}
module.exports = demo

@@ -1,4 +0,2 @@

//var dataService = require('lark-mvc').dataService
var dataService = require('../../../index.js').dataService
var demo = dataService.create('demo')
var demo = require('lark-mvc').dataService.create('demo')
demo.getData = function(){

@@ -5,0 +3,0 @@ return this.daoServices.demo.getData() + '\n' +

@@ -1,7 +0,5 @@

//var pageService = require('lark-mvc').pageService
var pageService = require('../../../index.js').pageService
var demo = pageService.create('demo')
var demo = require('lark-mvc').pageService.create('demo')
demo.render = function(){
return this.dataServices.demo.getData() + 'demo pageService is loaded!'
return this.dataServices.demo.getData() + '\ndemo pageService is loaded!'
}
module.exports = demo

@@ -5,4 +5,8 @@ var path = require('path');

/**
* @param options
* @param options.path {string} locate to models, where files which type is js will automate load.
*/
var larkMVC = function(options){
//var dirs = DEFAULT_LAYER
if (!options || !options.path) {

@@ -9,0 +13,0 @@ var path = 'models'

{
"name": "lark-mvc",
"version": "0.1.1",
"description": "MVC for lark.js",
"version": "0.2.1",
"description": "MVC for building web server with lark.js",
"main": "index.js",

@@ -11,3 +11,3 @@ "directories": {

"scripts": {
"test": "grunt test"
"test": "NODE_ENV=test ./node_modules/.bin/mocha --harmony-generators --require should test/"
},

@@ -22,3 +22,3 @@ "repository": {

],
"author": "zezhou",
"author": "lark.js Team",
"license": "FreeBSD",

@@ -31,3 +31,8 @@ "bugs": {

},
"devDependencies": {
"mocha": "^2.0.1",
"should": "^4.4.1",
"supertest": "^0.15.0"
},
"homepage": "https://www.npmjs.com/package/lark-mvc"
}

@@ -1,5 +0,89 @@

MVC for lark.js
MVC for building web server using lark.js
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
## Features:
* Seperate bussiness codes into `pageService`, `dataService` and `dao`, which accord to `MVC` concept. (`C`in `MVC` implements in `lark-router`).
* Make calling rules between MVC layers.
* Support hook between MVC layers.
## Install:
```
npm install lark-mvc
```
## Example:
First of all, import web server and this module in the app.
```
var larkMVC = require('lark-mvc')
var app = require('lark')
app.use(larkMVC())
app.run(3000)
```
Secondely, write `pageService` layer to implement `V` in MVC, which generates html codes by rendering tempalate and data.
```
var pageService = require('lark-mvc').pageService
var demo = pageService.create('demo')
demo.render = function(){
var res = ''
co(function *(){
var categroy = yield this.dataService.demo.getArticles(this.params.id)
var articles = yield this.dataService.demo.getArticles(categroy)
var data = {
'categroy': categroy,
'articles': articles
}
res = yield this.render('demo.html', data)
})
return res
})
module.exports = demo
```
Thirdly, write `dataService` layer to implement `M` in MVC, which collects data from database and passes them to `pageService`.
```
var dataService = require('lark-mvc').dataService
var demo = dataService.create('demo')
demo.getData = * function(){
// get data by dao
articles = {}
co (function *(){
var articles = yeild this.dao.demo.get(this.request.id);
if articles
})
return articles
}
module.exports = demo
```
Forthly, write `dao` layer, which is a wrapper of accessing database.
```
var dao = require('lark-mvc').dataService
var demo = dao.create('dao')
demo.getData = * function(){
db = redis.conn()
data = db.get('test-key')
return data
}
module.exports = demo
```
We have all done here. And then, run the app to see the results.
```
node --harmony app.js
```
<hr>
一个支持MVC模式的中间件

@@ -13,8 +97,2 @@

## Install:
```
npm install lark-mvc
```
## 示例:

@@ -84,2 +162,15 @@

dao 样例:
```
var dao = require('lark-mvc').dataService
var demo = dao.create('dao')
demo.getData = * function(){
db = redis.conn()
data = db.get('test-key')
return data
}
module.exports = demo
```
层之间hook样例:

@@ -93,1 +184,6 @@

[npm-image]: https://img.shields.io/npm/v/lark-mvc.svg?style=flat-square
[npm-url]: https://npmjs.org/package/lark-mvc
[travis-image]: https://img.shields.io/travis/larkjs/lark-mvc/master.svg?style=flat-square
[travis-url]: https://travis-ci.org/larkjs/lark-mvc

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc