之前有写过一篇nodejs入门包括服务器的各种配置,npm安装。这篇文章也得到了很多人的肯定,在这里我也非常的感谢大家。今天给大家介绍的是nodejs的myweb框架的基本认识,myweb框架的开发心得,以及遇到的一些问题。
一、什么是myweb框架?他是一个基于nodejs的web应用框架,其中应用到了express框架和jade解析模板。整体上说该框架只是在express搭建了一层mvc实现方式。那么myweb框架给开发者带来了什么便利呢?二、myweb框架带来的便利1、 MVC开发模式在PHP开发中我们经常会应用MVC设计模式开发出一套框架,而NodeJs在现发展初期,还没有比较成熟的MVC开发框架,大部分都是通过自我根据express框架进行搭建。本框架也属于个人搭建的MVC框架。该框架很适合PHP开发者,因为本人也是一个PHP和JavaScript开发者,因此主要是借鉴PHP的MVC模式来搭建该框架。2、 路由处理路由处理是框架的一个基本的也是关键的部分,路由处理的方式直接影响到url的显示方式。 本框架路由经历了两个过程:a、 直接通过key值来判断用户请求的资源,例如:http://127.0.0.1:3000/index,这个请求我们利用express获取key值index,然后读取配置文件信息
index{file:’index_controller’,class:’indexController’,function:’loginAct’}
从而我们根据index值得到了所有的controller和action,那么我们如何去访问这个action呢(这部分写在文档最后技术实现)?b、 第一种方式,不知道大家是否会发现一个问题。当我们有300个action时(很正常),我们需要写入300条记录到一个配置文件中,这样会导致配置文件越来越繁重。因此就出现第二种路由处理方式:http://127.0.0.1:3000/index?c=login
根据index获取当前的controller,根据c的参数获取当前需要访问的action,这样
我们的一个controller只对应一个配置信息。从而减少读取配置文件的时间。3、 数据库链接本框架只提供了一种链接mysql的方式,希望在后期能够提供更多的数据库链接。链接mysql数据库的方式,这里就不需要细讲,大家可以通过github上查找node mysql学习资源。本框架封装了一些基本的数据库操作从而减少开发者开发时间,只需要通过add、update、delete、query、select简单粗暴的去执行。4、 日志处理本框架实现了一个自我的日志记录处理功能,主要是便于系统运营。其中的日志设定:错误、警告、流水记录,同时可以设定日志错误级别,以便系统出错时即时的定位。5、 邮件发送功能这个功能没有做进一步的封装,只是利用了他人的库进行配置,之后会做进一步封装。6、 您只需要一步就可以实现本系统运行,下载该框架代码,执行node index.js就可以运行本框架(如果使用到session登录请下载redis-server.exe,去github下载)。三、技术实现细节之前有发表过一篇文章《如何一体化MVC开发框架》里面有涉及到大部分该框架的开发技术细节。这里我只介绍如何new一个controller同时,访问对象的一个action的方式Nodejs不像PHP有一个call_function函数可以执行访问对象中的某个方法名函数。我们需要以下要求和需要解决的问题:1、 因为express中的req和res是必须要贯穿整个系统的,因此我们必须把这两个参数作为基类的变量,以便继承类中可以随时的调用;2、 如何new一个字符串的controller,也就是给你一个controller字符串名,然后你需要去new这个名为controller的对象;3、 如何访问一个对象的function(注意:这个function名是一个字符串)针对以上三个问题我们做如何解决:1、 我们可以定义一个init构造函数
controllerObj.init(req, res)
2、 利用JavaScript中的eval例如:var controllerObj = eval("new " +className)
3、 利用JavaScript中的call方法controllerObj[functionName].call();
最新代码地址:https://github.com/tnodejs/myweb-nodejs我的菜鸟论坛:www.tnodejs.comtnodejs.com——————————————————————————————————你赋予人生何种意义,他就是何种意义——————————————————————————————————
if(life.wantToBe == 'fish'){your.career = 'fish';} else {your.career = 'not fish';}console.log("Anyway you must believe yourself!");
分享到:
相关推荐
目前Myweb1.0版本包括了这么几个展示区域 -提供视频播放区域 -提供幻灯片轮放区域 -提供个人简介区域 -原创个人介绍 -座右铭区域 -原创静态相册 -。。。。。。 目前实现了这么几个功能 -自适应,...
Myweb网络教程.rar Myweb网络教程.rar Myweb网络教程.rar Myweb网络教程.rar Myweb网络教程.rar
[影音娱乐]MyWeb影视系统 2007_myweb.zip源码ASP.NET网站源码打包下载[影音娱乐]MyWeb影视系统 2007_myweb.zip源码ASP.NET网站源码打包下载[影音娱乐]MyWeb影视系统 2007_myweb.zip源码ASP.NET网站源码打包下载[影音...
web 网页课程设计 + myweb
简易浏览器实现(myweb) (二)实验准备: 1、安装Microsoft Visual C++ 6.0在电脑上; 2、掌握MFC编程的基础知识; (三)实验目的: 1、使用ChtmlView类可以实现一个应用程序,使之具有Web浏览器的功能,包括...
青少年的情感困扰-成功大学myweb个人网页空间服务说明.doc
MyWeb 技术资讯网 MyWeb 技术资讯网 MyWeb 技术资讯网 MyWeb 技术资讯网
MyWEB BLOG+QQ空间MyWEB BLOG+QQ空间MyWEB BLOG+QQ空间MyWEB BLOG+QQ空间MyWEB BLOG+QQ空间
一个简单的浏览器!!!但是功能很齐全,谢谢使用
myweb2.zip
多用户个人主页系统,具有广告、分类、留言、用户短信、财务信息、投票、连接、用户等相关功能及管理 管理地址为:myweb/myweb_index.asp 用户名、密码为:bn50
如果你有任何疑问请到... 成为源码为:asp 下载地址:http://www.bn50.com/upfile/myweb/myweb_1.0-2.0.rar ...本版在MyWeb1.0基础之上进行了部分修改与功能纠正与新增. 具体不详细介绍.自己慢慢挖掘吧.
一个初学者的网页
MyWeb影视系统_dotnet影音娱乐网站
myweb01.zip
myweb,web基本
自己用CHtmlView类写的浏览器程序,主要用于大家交流,
程序为罗军舟等编著的《TCP/IP协议及网络编程技术》中的第22章Internet编程示例。本人在网上未搜到该程序的源码,自己完整地实现了程序,该程序用到了完成端口、任务栏图标、Socket编程、注册表操作、HTTP协议等诸多...
[影音娱乐]MyWeb影视系统 2007_myweb(ASP.NET源码).rar
简易浏览器实现(myweb) (二)实验准备: 1、安装Microsoft Visual C++ 6.0在电脑上; 2、掌握MFC编程的基础知识; (三)实验目的: 1、使用ChtmlView类可以实现一个应用程序,使之具有Web浏览器的功能,包括...