`
iloveoracle
  • 浏览: 118785 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

[] 我也来学习nodejs 没有就自己来 色色实现迷你 MVC

    博客分类:
  • java
阅读更多
    我也来学习nodejs 郁闷的天 文档很不咋的 实例根本跟不上 产品不成熟
 
完事开头难,聊天室还是有困难的啊 写起来 今天下午第一次接触这个玩意 ...
 
忽然发现 完全与之前的web开发 不挂钩 后端 还得自己去 处理各种请求 ....
 
实现聊天室 如果没有一个标准的话 后面东西很乱.... 写就写好 ...
 
先把框架雏形写出来再说 ... 靠 我也实现个mvc出来玩
 
下面这个雏形 基本源自 我自己的php框架思想 .... 基本有了 明天继续实现
 
今明2天把 框架实现好,后面可以自己叠加应用了 .......
 
可能哥以后 就有段时间折腾这破玩意了...
 
 
 
console.log('kenxu聊天室程序');// 实现 简易的mvc模式var http = require('http');var system = require("sys");var filesystem = require("fs");var url = require("url");// 工具代码var __undef = 'undefined',__proto = "prototype";object.extend = function(dest, source) {	for (var property in source) dest[property] = source[property];	return dest;};object.extend(string[__proto],{	trim: function(){return this.replace(/^\s+|\s+$/g, '');}});var utilities = {	arraymap: function(list, fn) {		if (list &amp;&amp; list.length){			var r = [];			for (var i = 0; i < list.length; i++) {				var x = fn(list[i], i);				if (x !== null) {					r.push(x) ;				}			}			return r ;		}		return [];	} ,	each: function(list,fn){		if (list &amp;&amp; list.length)			for (var i = 0; i < list.length; i++)				if (fn.call(list[i],i) == '#end#') break ;	}};/** * udi 对象 实现请求资源定位器 * @type  */var udi = {	udi_controller: 'controller',	udi_action: 'action',	default_controller: 'application', 	default_action: 'index' };function __request_filter(pathinfo){	var pathinfo = pathinfo || '/';	var parts = pathinfo.substr(1).split('/');		var params = {};	if (parts[0] &amp;&amp; parts[0].trim().length > 0){		params[udi.udi_controller] = parts[0].trim();	}	if (parts[1] &amp;&amp; parts[1].trim().length > 0){		params[udi.udi_action] = parts[1].trim();	}	    for (var i = 2; i < parts.length; i += 2) {        if (parts[i + 1]) {            params[parts[i]] = parts[i + 1];        }    }        // 校验 udi参数是否存在    if (!params[udi.udi_controller]){    	params[udi.udi_controller] = udi.default_controller;    }    if (!params[udi.udi_action]){    	params[udi.udi_action] = udi.default_action;    }    	return params;}var qrequest = function(req){	this._req = req;	};/** * 单一入口分发器 * @type  */var dispatcher = {		/**	 * 请求分发方法,可能会抛出异常,不知道异常怎么写...	 * 	 * @param {} request	 * @param {} response	 */	dispose: function(request, response){				// 取拼装控制器以及action		var pathinfo = url.parse(request.url).pathname;				var params = __request_filter(pathinfo);		console.log(params);				response.writehead(200, {'content-type': 'text/plain'});		response.end(pathinfo + '\n');			}	};//sfw.controller = function(request)http.createserver(function (request, response) {	try {		dispatcher.dispose(request, response);	} 	catch(e){		console.log(e);	}}).listen(8124); 
 
运行之后
 
http://localhost:8124/ 会输出 { controller: 'application', action: 'index' }
 
http://localhost:8124/hello/world/id/123/page/12 会输出
{ controller: 'hello',<br>  action: 'world',<br>  id: '123',<br>  page: '12' }
 
似乎 还行啊 不知道性能怎么样....
 
下面把 网站贴下 方便 学习:
 
 
https://github.com/joyent/node/wiki/modules
http://cnodejs.org/blog/?p=104
http://www.cnblogs.com/qleelulu/archive/2011/01/28/nodejs_into_and_n2mvc.html  源代码下载
http://cnodejs.org/cman/ []
http://cnodejs.org/api/
http://seajs.com/
http://www.w3school.com.cn/js/jsref_substr.asp
 
 
0
0
分享到:
评论

相关推荐

    我也来学习nodejs 没有就自己来 色色实现迷你 MVC

    标题中的“我也来学习nodejs 没有就自己来 色色实现迷你 MVC”表明这是一篇关于使用Node.js构建小型MVC(Model-View-Controller)框架的学习笔记或者教程。MVC是一种常见的软件设计模式,尤其在Web开发中广泛使用,...

    NodeJSMVC框架QuorraJS.zip

    QuorraJS 是一款较成熟的完整的NodeJS MVC 框架。安装npm install -g quorra-cli示例代码:Route.get('users', function(req, res) {  res.send('Users!'); });Route.get('users', 'UserController@getIndex'...

    nodeJS学习笔记.html

    nodejs 学习笔记 nodejs 学习笔记 nodejs 学习笔记

    nodejs基础学习视频

    nodejs基础学习视频nodejs基础学习视频nodejs基础学习视频nodejs基础学习视频

    NodeJS学习路线Xmind

    是我学习nodejs的Xmind路线,从入门到其它的数据库都已齐全。如果对node的学习没有头绪等,可以下载学习。

    基于nodejs人事管理系统的设计与实现(论文+源码)-kaic.rar

    论文+远程调试+毕业设计+重复率低+源码基于nodejs人事管理系统的设计与实现(论文+源码)_kaic.rar基于nodejs人事管理系统的设计与实现(论文+源码)_kaic.rar基于nodejs人事管理系统的设计与实现(论文+源码)_kaic.rar...

    模仿thinkphp的nodejsMVC框架Nstorm.zip

    Nstorm vserion 0.5.82 仿照thinkphp目录结构的 nodejs MVC框架  让开发nodejs更加快速 标签:Nstorm

    NodeJS学习笔记和代码

    这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 首先,`NodeJS第1天笔记.docx`很可能是对NodeJS基础概念的介绍,包括但不限于以下几点: 1. **事件驱动...

    一个用NodeJS实现的FtpServce

    一个用NodeJS实现的Ftp Servce

    WNodeJS:NodeJS 的 MVC 框架

    NodeJS 的 MVC 框架演示源码: : 文档: : WNodeJS 是什么? 这是 nodejs 的 MVC 框架它正在使用:ExpressJS、Socket.IO、Jade、Mongooese、... 它支持: 创建多应用管理器和渲染视图管理器和配置模型在控制器内创建...

    基于nodejs+express+angularjs+mysql实现的自主学习与考试系统.zip

    基于nodejs+express+angularjs+mysql实现的自主学习与考试系统.zip 基于nodejs+express+angularjs+mysql实现的自主学习与考试系统.zip 基于nodejs+express+angularjs+mysql实现的自主学习与考试系统.zip 基于nodejs+...

    nodejs mysql 实现分页的方法

    这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。 代码如下 var express = require('express'); var router = express.Router(); var settings = require('../settings.js'); var mysql =...

    nodejs实现websocket服务与html+js聊天通信示例

    nodejs实现websocket服务与html+js聊天通信示例 ...2.直接在nodeJs命令行中敲入:npm install nodejs-websocket回车就可以安装好了. 3.开始建立服务器了,因为有了nodejs-websocket模块,所以很多工作都不用我们自己做.

    NodeJs实现水仙花数

    NodeJs实现水仙花数,模块化

    基于Nodejs+TypeScript+Koa+MySQL实现的宿舍管理系统源码(前端+后端)+使用说明+sql数据库.zip

    基于Nodejs+TypeScript+Koa+MySQL实现的宿舍管理系统源码(前端+后端)+使用说明+sql数据库.zip基于Nodejs+TypeScript+Koa+MySQL实现的宿舍管理系统源码(前端+后端)+使用说明+sql数据库.zip基于Nodejs+TypeScript+Koa+...

    nodejs 小代码,实现图片上传

    nodejs的一个小代码,使用nodejs代码实现图片的上传

    nodejs-mvc-skeleton:NodeJS MVC骨架

    NodeJS MVC骨架 此存储库是使用M * EAN堆栈(* MySQL,ExpressJS,AngularJS,NodeJS)的Web应用程序的MVC框架。 快速开始 首先克隆存储库git clone https://github.com/bushev/nodejs-mvc-skeleton.git 。 进入...

    nodeJs学习

    详细的nodejs入门脑图。包含了node学习必须的基础知识。

    NodeJS学习手册

    NodeJS学习手册是一份专为中文用户设计的详尽教程,旨在帮助初学者和有经验的开发者深入理解和掌握NodeJS这一强大的服务器端JavaScript运行环境。NodeJS基于Chrome V8引擎,以其异步非阻塞I/O和事件驱动的特性,为...

    little-node-mvc:迷你mvc nodejs框架

    小节点mvc 迷你mvc nodejs框架用法const { App } = require ( 'little-node-mvc' ) ;const app = new App ( ) ;const port = 8080 ;const hostAddress = '0.0.0.0' ;app . listen ( port , hostAddress , ( ) =&gt; { ...

Global site tag (gtag.js) - Google Analytics