• Stars
    star
    202
  • Rank 193,691 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 11 years ago
  • Updated almost 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web application framework for Node.js

Codekart

###Web application framework for Node.js

Build Status NPM version Gitter chat

Codetank

Codekart is a powerful Node.js framework with a very small footprint, built for Node.js coders who need a simple and elegant toolkit to create full-featured web applications. If you're a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you're tired of ponderously large and thoroughly undocumented frameworks, then Codekart might be a good fit.

Codekart 是一套给 Node.js 开发者使用的应用程序开发框架和工具包。 它提供一套丰富的标准库以及简单的接口和逻辑结构, 其目的是使开发人员更快速地进行项目开发。 框架已经完成了诸如url请求自动路由、静态文件服务器和前后端代码模块化等实用且必须的功能。使用 Codekart 可以减少代码的编写量, 并将你的精力投入到项目的创造性开发上。

##安装:

$ cd /data/website
$ npm install codekart #安装Codekart
$ mv codekart myweb #修改codekart为你的自定义名称

NPM

##简介:

####它已经帮你出色的完成了下面这些事情:

优雅的框架思维

如果你需要一个真正的框架,而不是一个模块/中间件/工具箱,如果你需要简约与便捷,需要一目了然、理所当然的舒适感,那么 Codekart 将是最好的选择。

高性能 HTTP 服务器

Codekart处理 http 请求的性能接近原生 Node.js 代码: http.createServer(), 原因是框架只是对此函数做了简单的封装,其性能的损耗仅仅只有一个 url 正则匹配运算,路由请求处理程序。

便捷的静态文件服务器

把文件放入 static/ 目录下,启动Codekart,url 访问,搞定!

web 页面模块化支持

实际上,这是Codekart最出色的部分!它是前后端一体化的,可以像写配置文件一样编写web页面, 框架自动完成 js、css 、tpl 文件的模块化加载、合并、压缩, 并在html里引用,自动完成 html 模板的解析,并且支持页面继承和多态,一切就是那么简单轻松!

丰富的工具箱

Codekart准备了一系列强大的前后端工具集合,涉及进程通信,数据缓存,文件读取,文件上传,数据采集与处理,流程控制,任务计划等诸多方面。

##使用示例:

使用Codekart,你可以十分方便的进行web页面模块化配置,例如: framework/view/codekart.js 内容如下:

//web页面定义
var stuff = {
    tpl:{body:'codekart'},  //页面的tpl模板文件列表  app/resource/tpl
    less:'codekart',  //页面的css模板文件列表  app/resource/less
};

//【继承关键代码】
//继承父级页面 和 必须给本模块加上对外接口,以便其他页面继承
exports.stuff = inheritView('html',stuff); //继承至html


//加载配置文件
//var website = load.config('website');

/**
 * 页面模板数据获取
 * 可以不定义此函数,程序将跳过本页面的数据获取
 * @callback 必须调用 ,表示数据获取完成,进行子级页面数据获取,不调用则会一直等待不能进行下一步!!!
 * 在callback中返回的变量可以在tpl模板中使用,在这里可以进行数据库的查询等等。
 * 复杂的数据获取和运算,建议放在`app/model`中的模块中进行,在这里可以调用`load.model('model')`加载。
 */

exports.data = function(callback){
    var that = this
      , req = that.request //Node原生request对象
      , req = that.response; //Node原生response对象
      
    this.setCookie('user_id', 9999, 3600); //设置cookies
    
    //post提交表单数据处理回调
    this.formdata(function(err, fields, files){
        // @err 是否出现错误
        // @fields 表单的普通文本字段数据
        // @files 表单的文件上传
        //调用callback返回模板数据
        callback({
            title: 'Codekart',
            postdata: fields['postdata'] //提交的post数据
        });
    });
};

exports.stuff 对象及为web页面的配置,exports.data函数为页面模板数据的获取函数。你也可以方便的进行页面的继承。

其它更多强大的功能,请查阅 Codekart文档

##相关链接:

Codekart主页

API文档/使用手册

此文档程序由Codekart 0.1开发和驱动: 文档托管地址

官方QQ群:366311819 (问题解答,bug反馈,功能建议等)

Codekart官方群

本框架来自君鉴网的开发实战积累。

##关于

这是一个开源框架,你可以任意修改和使用它(包括但不限于技术研究与分享、开源项目或者商业产品)。如果要支持本框架的开发,欢迎提交新的代码。

框架主页:http://codekart.jojoin.com
托管地址:https://github.com/yangjiePro/Codekart

也欢迎你联系本框架的作者,提出建议或者bug,进行技术交流:

作者:杨捷
邮箱:[email protected]
QQ :446342398
Github :https://github.com/yangjiePro