[慕课笔记] node+mongodb建站攻略
如何利用node+mongodb来快速搭建一个电影网站?
一:后端部分
整个网站的后端是由node.js来驱动的,所以在后端需要安装node.js,以及在这个基础之上的框架express,它能够帮助我快速的搭建web应用,然后数据库选用的mongodb,以及对mongodb快速建模的工具mongoose。后端的模板引擎用的是jade关于时间个日期的格式化选用的是Moment.js底下的这四个模块都是通过npm安装的,npm是node自带的。
![](http://upload-images.jianshu.io/upload_images/5640239-77069d5795da4abd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
二:前端部分
前端部分会选用jQuery的类库以及boostrap的样式的框架,它们都是网站前端的静态资源,网站前端的静态资源都存在一个版本的依赖和版本的管理,所以我们需要通过Bower来安装它们,Bower本身也是一个npm模块,所以它也需要现有npm的安装方。
![](http://upload-images.jianshu.io/upload_images/5640239-30bb91154a7d42de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
三:本地的开发环境
本地的开发环境后面的网站会用到less的编译,样式的合并,语法的检查,包括前后端单元测试的实现,以及服务的自动重启,这几个任务都是通过grunt来集成。
![](http://upload-images.jianshu.io/upload_images/5640239-1a44386e97e3deac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
四:实战步骤
选择完这些框架以后,就可以来开始实战,项目开发分为九个步骤
![](http://upload-images.jianshu.io/upload_images/5640239-6f3c74f340ae142e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
1:需求分析:看一下开发一共有多少个页面,页面里都有什么样的内容和需求以及什么样的交互,这样做到心里有数。
2:项目依赖初始化:然后对项目所依赖的模块进行一个安装和 初始目录的创建。
3:入口文件编码:在后端开始创建一个入口文件并且进行编码。
4:创建试图:编码以后就可以来创建几个重要页面的视图了,也就是模板。
5:测试前端流程 :来跑通前后端的流程,也就是说,从浏览器发起一个请求到后端,后端接收到之后,返回一段数据。
6:样式开发,伪造模板数据 :跑通前后端之后,就可以对页面进行一个样式的开发和一些HTML的dom结构的填充,同时要伪造一些模板数据。
7:设计数据库模型:这时候页面都有了,我们开始基于页面里面的内容同时来设计数据库的模型。
8:开发后端逻辑:然后来开发后端的逻辑,到这一步为止,前后端的逻辑都已经实现掉了。
9:配置依赖文件,网站开发结束:对前端静态资源版本和后端模块版本进行一个配置文件的生成,然后整个网站就开发结束了。
五:详细开发
然后来看一下网站的页面 ,左边是首页,有一个电影列表,把存在数据库里面的电影全部都取出来展现在这里,每一个海报都有电影名称和播放按钮,点击海报或者播放按钮就会跳转到右边这个页面,也就是详情页,详情页就是这部电影所针对的更加详细的介绍字段之类的东西。
![](http://upload-images.jianshu.io/upload_images/5640239-009ad8c8ccb9d4fd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
后台录入页:其实这里就是一个表单,在后端能够填写一些和电影有关的数据,点击最底下的录入按钮的时候,会将这张表上的数据提交到后台,后台就会存到数据库,也就是mongodb里面,右边是列表页,当存入一定数据的电影的时候,我们可以进行批量的管理,比如更新或者删除。
![](http://upload-images.jianshu.io/upload_images/5640239-1be4be35b5875a2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)