对于Nodejs学习笔记应用实例连接中间件

对于Nodejs学习笔记应用实例连接中间件
首先,开放分析

大家好。大熊来了。昨天,因为有点私事,我没有写博客。今天我又出了一篇文章。这主要是关于编写一个记事本应用程序

我还介绍了使用连接的中间件和应用mondb。今天,我们结合这两个中间件编写了一个实例,不断改进和重构。

充分研究的目的。嗯,废话直接进入主题。

二、需求分析

(1)用户注册登录功能(不涉及一个非常复杂的交互场景,注册将由用户决定是否)。

(2)用户登录成功,进入笔记管理系统的后台(笔记模块的增删功能)。

(3)用户可以拥有简单的权限管理员、注册用户)。

(4)界面简单,主要是学习

三,启动设计应用程序(第一部分)

(1)设置了用户登录页面,代码如下所示:

复制代码代码如下所示:

只大熊记事本应用程序登录

{注释标题

边距:45px;

背景:# 6699cc;

字体大小:14px;

字体粗细:粗体;

颜色:# FFF;

字体:宋体;

身高:24px;

行高:24px;

}

{

颜色:# 336699;

字体:宋体;

字体大小:14px;

字体粗细:粗体;

}

只大熊记事本应用程序登录
用户名 uff1a

uff1a密码
我要挂号。

效果图:
(2)设置用户注册页面,代码如下所示:

复制代码代码如下所示:

只大熊记事本应用程序注册

{注释标题

边距:45px;

背景:# ff3300;

字体大小:14px;

字体重量:大胆;

颜色:# FFF;

字体:宋体;

身高:24px;

行高:24px;

}

只大熊记事本应用程序注册
用户名 uff1a

uff1a密码
效果图:
(3)建立mondb连接代码,如下:

复制代码代码如下所示:

无功mondb =需要(mondb );

var =新mondb服务器。服务器(localhost

auto_reconnect:真

});

变量conn =新mondb DB(BB。

安全:真

});

conn.open(函数(误差,DB){

如果(错误)抛出错误;

Console.info(mondb连接!;

});

出口= module.exports = Conn;
(4)建立模型实体类用户,如下所示:

复制代码代码如下所示:

变量conn =需要(, /康);

函数用户(用户){

this.name =用户{名字};

this.password = {用户密码};

};

user.prototype.save =函数(回调){

var =;

conn.collection(用户

安全:真

}函数(错误,集合){

如果conn.close()返回(错误);

Collection.findOne({ / /用户的存在

名称:that.name

}函数(错误,用户){

如果conn.close()返回(错误);

如果(!用户){

Collection.insert({

名称:that.name +

密码:that.password +

{ }。

安全:真

}函数(错误,用户){

如果conn.close()返回(错误);

回调回调(用户);

Conn.close();

});

}

别的{

回调(用户注册!;

}

});

});

};

user.login =函数(名称、密码、回调){

conn.collection(用户

安全:真

}函数(错误,集合){

如果conn.close()返回(错误);

Collection.findOne({

姓名,

密码:密码

}函数(错误,用户){

如果conn.close()返回(错误);

回调回调(用户);

Conn.close();

});

});

};

出口= module.exports =用户;
效果图:
(5)建立应用程序,如下所示:

复制代码代码如下所示:

/ / app.js

var =要求();

var用户=要求();

VaR的应用= connect.createserver();

应用程序使用(connect.logger(开发))

使用(connect.query())。

使用(connect.bodyparser())。

使用(connect.cookieparser())。

。使用(connect.static(__dirname + /视图))

。使用(connect.static(__dirname + /公共))

使用()

var=;

var密码=请求;

User.login(姓名、密码、功能(用户){)

如果(用户){

response.end(欢迎光临:+姓名+用户{^ _ ^ ......;

}

别的{

response.end(用户:+姓名+不登记!;

}

});

})

使用()

var=;

var密码=请求;

新用户({

姓名,

密码:密码

})保存(函数(用户){)

如果(用户用户{ name ){

response.end(用户:+姓名+登记完成!;

}

别的{

response.end(用户:+姓名+已注册!;

}

});

})

听(8888,函数(){)

console.log(港口--->8888。运行Web服务器);

});
解释:

(1)connect.query()-处理GET请求的参数分析。

(2)connect.bodyparser()-处理POST请求的参数分析。

(3)connect.static(__dirname + /视图),connect.static(__dirname + /公共)

它们表示模板视图html和静态资源的资源目录,如js、CSS、JPG和GIF。

下面是应用程序的目录结构:
四,总结

(1)掌握的Nodejs操作数据库的基本操作语句。

(2)划分层次结构,如模型、视图、路由

(3)不断优化修改文章的例子(例如,注册验证用户是否存在,可以独立UserManager,做代理完成用户的认证和拯救行动)。

(4)明天继续完成后续工作,并期待它的完成。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部