Node.js + Express + Mongodb 开发搭建个人网站(三)
三、后台架构
1、在根目录下(和 views 文件夹同级)创建 lib 文件夹
以后所有后端内容 都是在这里写,分别创建三个文件夹 到 lib 目录下:
mongo 放的是数据的存储
module 放的是逻辑的处理
util 就是工具类文件
lib下 会有pageXxxx.js,这个是业务的处理
2、下面 把 总路由 拿过来,并改名 router.js
删除原先的 路由文件夹,修改 app.js 的路由指向:
3、接下来在 router.js 添加几个方法,如图:
分别是查看全部、创建、详情、删除、修改,也是我们一般项目的逻辑方法 。。。
4、之前有说 pageXxxx.js 这个是业务的处理,所以我现在要创建 pagePost.js 这个是内容业务的处理
当然 先为了测试 我们也可以创建成pageTest.js
ps:我没有创建pageTest.js 我就是举个例子。。。
pagePost.js的作用就是以模块命名来人为的区分模块内容
pagePost.js :
postXxxx的作用:
路由原先是
每个方法后面的匿名回调函数就是业务处理
如果把所有方法都放到路由文件里面去进行,那这个文件本身就会很庞大,后期的开发、维护都不能很好地处理
原先的路由里包含了方法的处理,postXxxx就是把业务处理抽离出来
5、根据业务的需求放到对应的 router.js文件
通过require 加载进来,结果是:
router.js
pagePost.js
6、重新启动项目,测试路由,出现以下即成功
http://127.0.0.1:3000/
http://127.0.0.1:3000/p/33333
这个33333其实就是以后数据的id 这里就是模拟一下
http://127.0.0.1:3000/p/33333/remove
后台先酱紫搭,后面需要什么业务逻辑再慢慢增加。。。
转载请注明: http://www.cnblogs.com/zhangmingze/p/5001815.html
Node.js + Express + Mongodb 开发搭建个人网站(三)的更多相关文章
- Node.js + Express + Mongodb 开发搭建个人网站(一)
一.Node + Express环境搭建 0.去Node官网下载安装node,如果安装了 npm 和 node的话 那么就 安装 全局的 express,-g全局安装 npm install expr ...
- Node.js + Express + Mongodb 开发搭建个人网站(二)
二.路由 1.打开 routes/index.js ,这个意思就是 捕获到访问主页的get请求: 并通过 app.js 分配到对应的路由里: 看到这里,打开 http://127.0.0.1:300 ...
- 【nodejs笔记1】配置webstorm + node.js +express + mongodb开发博客的环境
1. 安装webstorm 并破解 2. 安装node (以及express框架) 至官网下载并安装.(http://nodejs.org)v0.10.32 msi 安装后测试,打开命令行, c ...
- Node.js Express+Mongodb 项目实战
Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...
- Node.js+Express+MongoDB数据库实现网页注册登入功能
通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.h ...
- Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery
Node.js + MongoDB 项目实战(二) 创建项目 在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/34 ...
- node.js+express+mongodb
主要是想用node.js链接mongodb,用的是mongoose.用ejs引擎,扩展到.html比较容易 小例子结构简单,框架清晰. 提交方法 路径 方法 作用 get add post a ...
- ubuntu安装node.js+express+mongodb
输入以下命令安装: sudo apt-get install nodejs 安装完成后,终端输入nodejs,就能进入node命令啦: 但是正常下应该是输入node进入命令而不是nodejs: 在Ub ...
- ubuntu 安装node.js + express + mongodb
转载自http://my.oschina.net/reg/blog/289536 Ctrl + Alt + T,打开终端,输入以下命令安装: sudo apt-get install nodejs 安 ...
随机推荐
- 在ListView中使用多个布局
要想在一个ListView中使用多个布局文件,比如一个信息List包含了一个信息标题和每个信息对应的时间. 关键的步骤是实现Adapter类的getItemViewType 和getViewTypeC ...
- 【CF】142 Div.1 B. Planes
SPFA.注意状态转移条件,ans的求解需要在bfs中间求解.因为只要到了地点n,则无需等待其他tourist.还是蛮简单的,注意细节. /* 229B */ #include <iostrea ...
- 【HDOJ】2149 Public Sale
看Discuss说是博弈论,没学到这个分类.不过仔细想了想,发现.如果m<=n,那么可能结果为m,m+1...n.否则,如果m%(n+1) == 0,那么无论如何都会输,因为无论先报价什么数,如 ...
- Learning WCF Chapter2 Data Contracts
A data contract describes how CLR types map to XSD schema definitions. Data contracts are the prefer ...
- 如何区分Shapefile,Coverage,Geodatabase(转载)
转自:http://www.cnblogs.com/linhugh/archive/2012/04/06/2435266.html 在过去20年中,矢量数据模型是GIS中变化最大的方面,例如,ESRI ...
- Code generated using the T4 templates for Database First
Error message: Code generated using the T4 templates for Database First and Model First development ...
- PHP中zlib扩展实现GZIP压缩输出各种方法总结
一般情况下我们出现大量数据传输理希望减少服务器的带宽压力,会采取一种方式来压缩文件传输,php中用zlib也可以实现gzip压缩输出,下面我们来看GZIP压缩输出各种方法总结. GZIP(GNU-ZI ...
- C++类实现AVL树
二叉查找树是个好东西,他让查找,插入,删除,这些常用操作变得高效,但是,他是存在问题的,那就是,在坏的输入序列下,树会退化成链表,这就很尴尬了,于是为了避免这种情况的发生,我们需要一种数据结构,可以自 ...
- cat、cp命令
cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是, abc def ghi cat a.txt |grep –v ghi 得到结果, abc def h ...
- 捕获 PHP 致命错误 Fatal Errors
register_shutdown_function()函数都将会你的程序执行完后执行,无论你的程是否运行正常. 所以,在这个函数前执行任何操作我们都要检查是否真的有致命错误出现.如果出现致命错误,我 ...