Node.js + Express + Mongodb 开发搭建个人网站(三)
<p style="text-align: center"> </p><p style="text-align: center"><strong><span style="font-size: 14pt">三、后台架构</span></strong></p>
<p style="text-align: left"> </p>
<p style="text-align: left"> </p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">1、在根目录下(和 views 文件夹同级)创建<span style="color: rgba(255, 0, 0, 1)"> lib</span> 文件夹</span></p>
<p align="left"> 以后所有后端内容 都是在这里写,分别创建三个文件夹 到 lib 目录下:</p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127211423593-173360358.png"></p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">mongo 放的是数据的存储</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> module 放的是逻辑的处理</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> util 就是工具类文件 </span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> lib下 会有pageXxxx.js,这个是业务的处理 </span></p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">2、下面 把 总路由 拿过来,并改名 <span style="color: rgba(255, 0, 0, 1)">router.js</span></span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127211649718-1001290957.png"></span></p>
<p align="left"> 删除原先的 路由文件夹,修改 <span style="color: rgba(255, 0, 0, 1)">app.js</span> 的路由指向:</p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127211740781-1686287282.png"></p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">3、接下来在 <span style="color: rgba(255, 0, 0, 1)">router.js</span> 添加几个方法,如图:</span></p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127211831296-968707640.png"></p>
<p align="left"> 分别是查看全部、创建、详情、删除、修改,也是我们一般项目的逻辑方法 。。。</p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">4、之前有说 pageXxxx.js 这个是业务的处理,所以我现在要创建 <span style="color: rgba(255, 0, 0, 1)">pagePost.js</span> 这个是内容业务的处理 </span></p>
<p align="left"> 当然 先为了测试 我们也可以创建成pageTest.js <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127212058140-291938349.png"></p>
<p align="left"> ps:我没有创建pageTest.js 我就是举个例子。。。 <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127212117765-1363341919.png"> </p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">pagePost.js的作用就是以模块命名来人为的区分模块内容</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127212235499-1177736312.png"></span></p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">pagePost.js :</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127212325937-395854204.png"></span></p>
<p align="left"> postXxxx的作用:</p>
<p align="left"> 路由原先是</p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127212652421-1631400224.png"></p>
<p align="left"> 每个方法后面的匿名回调函数就是业务处理</p>
<p align="left"> 如果把所有方法都放到路由文件里面去进行,那这个文件本身就会很庞大,后期的开发、维护都不能很好地处理</p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213031546-1546528289.png"></p>
<p align="left"> 原先的路由里包含了方法的处理,postXxxx就是把业务处理抽离出来</p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">5、根据业务的需求放到对应的 router.js文件</span></p>
<p align="left"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213316874-1971366812.png"></p>
<p align="left"> 通过require 加载进来,结果是:</p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">router.js</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213429702-773606205.png"></span></p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">pagePost.js</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213544484-1849778110.png"></span></p>
<p style="padding: 8px; background: rgba(29, 31, 47, 1); color: rgba(255, 255, 255, 1)" align="left"><span style="font-size: 14pt">6、重新启动项目,测试路由,出现以下即成功</span></p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">http://127.0.0.1:3000/</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213638796-1469614414.png"></span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> http://127.0.0.1:3000/p/33333</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213728109-2132310281.png"></span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> </span>这个33333其实就是以后数据的id 这里就是模拟一下</p>
<p align="left"> <span style="color: rgba(255, 0, 0, 1)">http://127.0.0.1:3000/p/33333/remove</span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> <img src="http://images2015.cnblogs.com/blog/783229/201511/783229-20151127213826406-1944145782.png"></span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> </span></p>
<p align="left"><span style="color: rgba(255, 0, 0, 1)"> </span><span style="font-size: 14pt"> 后台先酱紫搭,后面需要什么业务逻辑再慢慢增加。。。</span></p>
<p align="left"> </p>
<p align="left"> 转载请注明: http://www.cnblogs.com/zhangmingze/p/5001815.html</p>
<p style="text-align: center"> </p><br><br>
来源:https://www.cnblogs.com/zhangmingze/p/5001815.html
頁:
[1]