JavaScript的MVC框架:Derby.js
一個MVC框架,可以很容易地編寫實時協作可在Node.js和瀏覽器中運行的應用程序。
hello.jsvar app = require('derby').createApp(module);
// Add template for rendering HTML and model <- -> view bindings
app.view.make('Body',
'Holler: <input value="{hello.message}"><h1>{hello.message}</h1>'
);
// Add a route, which can render in the browser as well as server
app.get('/', function(page, model) {
// Specify data to sync
model.subscribe('hello.message', function() {
page.render();
});
});</pre></h3>
server.jsvar store = require('derby').createStore({
// Use the mongo adapter to persist data and perform queries
db: require('livedb-mongo')('localhost:27017/test?auto_reconnect')
// Keep a journal of all data changes and do PubSub with Redis
, redis: require('redis').createClient()
});
var expressApp = require('express')()
// Add browserchannel scripts to bundles created by store, and
// return middleware for responding to remote client messages
.use(require('racer-browserchannel')(store))
// Respond to requests for application script bundles
.use(app.scripts(store))
// Create models for incoming requests
.use(store.modelMiddleware())
// Add the app's routes
.use(app.router())
require('http').createServer(expressApp).listen(3000);
// Add template for rendering HTML and model <- -> view bindings app.view.make('Body', 'Holler: <input value="{hello.message}"><h1>{hello.message}</h1>' );
// Add a route, which can render in the browser as well as server app.get('/', function(page, model) { // Specify data to sync model.subscribe('hello.message', function() { page.render(); }); });</pre></h3>
server.jsvar store = require('derby').createStore({
// Use the mongo adapter to persist data and perform queries
db: require('livedb-mongo')('localhost:27017/test?auto_reconnect')
// Keep a journal of all data changes and do PubSub with Redis
, redis: require('redis').createClient()
});
var expressApp = require('express')()
// Add browserchannel scripts to bundles created by store, and
// return middleware for responding to remote client messages
.use(require('racer-browserchannel')(store))
// Respond to requests for application script bundles
.use(app.scripts(store))
// Create models for incoming requests
.use(store.modelMiddleware())
// Add the app's routes
.use(app.router())
require('http').createServer(expressApp).listen(3000);
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!