yode-server
a simple command-line http server with web-framework and cms
Last updated 6 years ago by kolbaskin .
LGPL-2 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install yode-server 
SYNC missed versions from official npm registry.

Yode-server

NPM

Setup

First, install MongoDB and Memcached and run both

Yode-server also requires node.js version 0.10 and above

Also we need Imagemagick for operations above images

mkdir yode
cd yode
npm install yode-server
npm start yode-server

Usage

The installer creates www directory. Or you can choose another name during installation. This is where your projects to be placed. In www/localhost you’ll find a sample project.

All backend files are located in www/localhost/modules,

all static files (css, images, browser-js) are in www/localhost/static,

html-templates are in www/localhost/view

Each new project requires separate directory inside www. The name of project directory must be same as host name. For example: if your project hostname is www.example.com the path should be www/www.example.com

Command

npm start yode-server

or

node server

starts all virtual hosts located in project directory. If you need to start only one of them, specify it:

node server -p www.example.com

run yode-server as daemon:

node daemon

Admin interface

Admin panel default access (don't forget to add the port number in case it's not 80):

http://localhost/admin/
login: yeti
pass: 111111

Hello world (easy)

// file: www/localhost/modules/hello.js

// the pattern of a yode-module
// object "server" contents connections to mongodb, memcached and has more useful properties 
exports.Plugin = function(server) {
    this.server = server;
}

exports.Plugin.prototype.helloWorld = function(req, callback, auth) {
    callback('Hello World!')
}

in the browser http://localhost/hello:helloWorld/

Hello world (MVC)

Model code

// file: www/localhost/modules/models/hello.js

exports.Plugin = function(server) {
    this.server = server;
}

// as in the previous example but an object has passed to the callback.
exports.Plugin.prototype.getHello = function(req, callback, auth) {
    callback({text: 'Hello World!'})
}

View, template code

<!-- 

file: www/localhost/view/hello.tpl

uses jqtpl engine 

-->
<h1>${text}</h1>

Controller code

// file: www/localhost/modules/hellomvc.js

exports.Plugin = function(server) {
    this.server = server;
}

exports.Plugin.prototype.helloWorld = function(req, callback, auth) {
    
    var me = this
    me.server.getModel('models.hello').getHello(req, function(data, e) {
        me.server.tpl('hello.tpl', data, function(code) {
            callback(code);
        })
    })
}

See the result: http://localhost/hellomvc:helloWorld/

You can also use the model as REST-service in external apps: http://localhost/models.hello:getHello/

"Hello World" on CMS virtual pages

  1. Log into admin interface: http://localhost/admin/ (yeti:111111)
  2. Go to Start -> Site tools -> Pages
  3. Click (+) icon
  4. Enter page name
  5. Select template
  6. Click [Add] - button (in right-bottom panel Page blocks)
  7. Enter hellomvc:helloWorld to field Content type
  8. Save

Now you can see your "Hello World" on the new page (the path is in the second column of pages tree in admin-panel)

Current Tags

  • 0.2.4                                ...           latest (6 years ago)

9 Versions

  • 0.2.4                                ...           6 years ago
  • 0.2.3                                ...           6 years ago
  • 0.2.1                                ...           6 years ago
  • 0.2.0                                ...           6 years ago
  • 0.1.4                                ...           6 years ago
  • 0.1.3                                ...           6 years ago
  • 0.1.2                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.0.9                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 9
Last Day 0
Last Week 9
Last Month 10
Dev Dependencies (3)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |