Skip to content

mrtian/Ti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ti

Ti is a MVC web application server framework for node.js. It provides the basic development framework and some related components, including libraries and tools.

Install

npm install Ti

Sample

node ./sample/test.js

Document

Application's document path

//------------------app path-------------
|--app
    |----app.js // app input file
    |----controller //controller path
        |----site.js //site controller
        ------...
    |----view //template path
        |----inc
            |----header.tpl
        |----index.tpl
        |----...
    |----model //model path
    |----plugin
    |----...

simple to create a app

//get application
var App = require('ti').application;

//definne product path;
var productPath = process.cwd();

var app = new App({
	//configure controller path
	controllerPath:productPath+"/controller",
	//configure default controller name
	defaultController:'site',
	//route config
	routes:{
		'p-':"product/detail",//'p-','controller/action'
	},
	//port
	port:5927,
	//configure route start sep
	baseUriIndex:0,
	//configure template path
	viewPath:productPath+'/view',
	//configure template plugin path
	templatePluginPath:productPath+"/plugins/view"
});

//app start
app.start();

###Model

//path:model/product.js
//demo for product
module.exports = {
	getItem:function(id){
		//code for getItem
		return {
			id:id,
			title:"Demo for product",
			content:"Demo for product content"
		}
	},
	getList:function(){
		//code for getList
	}

}

###Controller

//demo for ProductController
//path: controller/product.js

var Controller = require('ti').Controller;
//exports
module.exports = new Controller({
	detailAction:function(req,res){
		var id = req.params.id,
			productModel = require('model/product'),
			item = productModel.getItem(id);

		this.display('test.tpl',item);
	}		
});

###View

<!DOCTYPE>
<head>
	<title>Ti-Demo</title>
</head>
<html>
<body>
	<h1><%=title%></h1>
	<p><%=content%></p>
</body>
</html>

####openTag is : <% ####closeTag is : %> You can modify it like this:

var template = require('ti').template;

template.openTag = "<{" ; // You custom openTag put here.
template.closeTag = "}>" ;// You custom closeTag put here.

####include a tpl

<%=include('a.tpl',data)%>

###template plugin: #####create a template plugin

var template = require('ti').template;
//define a template plugin
template.plugin('escape',function(str,type){
	//code for plugin
	//need return what u want;
	return str;
});

#####use plugin

<p><%=title|escape:"html"%></p>

####some default plugin: escape: escape tpl var for html or url :

default: set a default value for tpl var;

truncate: truncate tpl var ;

#####then,open browse and view: http://127.0.0.1:5927 Enjoy.

##中文介绍在这里: http://www.ue7.cn/blog/2013/02/22/nodejs-mvc-ti/

About

A simple MVC framework for node web server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published