使用express4.X + jade + mongoose + underscore搭建个人电影网站

  (-?-;), 周末过得真是快啊,  很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, nodeJS这东东就是轻量级, 哪里不爽点哪里。

  如果你学着写完可以学到:

  1.   express新建项目
  2.   express自带的jade模板引擎的使用
  3.   express的路由管理
  4.   express中的权限管理
  5.   express如何与mongoose结合, 以及mongoose中的schema和model的使用方法, and CRUD( you know what do i say o(^▽^)o)
  6.   underscore的前端模板的使用
  7.   grunt的nodemon模块和concurrent模块使用方法;
  8.   如何通过mongo-connect这个npm模块保存用户的信息(session);

  ....

  整个网页主要包含了以下四个模块:

主页 ( ?? ω ?? )y;
列表页
电影详情页

管理页
电影新增
电影删除
电影信息编辑

注册
登陆
登出
通过路由进行权限管理
用户的评论
用户评论互评

  慕课网nodeJS的讲师Scott提供的Github地址是:打开  ,这个项目的express是3.x系列的,所以使用express4.x系列的肯定跑不起来,然后我自己写了一个4.x的,Github的项目地址是:没有, 但是你可以点击这里下载源码, 作为学习的参考, 等我把界面再做漂亮点, 功能更好的时候就传Git;

  项目的主要目录结构跟平常的express默认结构差不多

  项目所依赖的模块还挺多的.... 全安装就好了;

   其实bower, less和jslint, mocha, karma, kaola....我都没有用, 太高端了用不起来..工具真心太多了;

  主界面大概是这样的,可以先睹为快:

  视频界面如下, 新增视频的时候填写的地址默认有一个youku的视频地址, 图片默认是博客园的logo图片;

 

  在mongoose中定义模型的静态方法实例方法是比较重要的, 以及通过设置字段类型为ObjectId进行关联引用别的表指定_id的字段,我贴上些代码防忘记:

var mongoose = require("mongoose");
var ObjectId = mongoose.Schema.Types.ObjectId;
console.log(  mongoose.Schema.Types.ObjectId )
var CommentSchema = new mongoose.Schema({
    movie_id : String,
    replys : [
        {
            to : {
                //相当于是引用了User表下_id值为指定值的单元
                type : ObjectId,
                ref : "UserSchema"
            },
            from : {
                type : ObjectId,
                ref : "UserSchema"
            },
            content : String,
            time : {
                type : String,
                default : Date.now()
            }
        }
    ]
});

CommentSchema.statics = {
    fetch : function(cb) {
        return this.find({}).exec(cb);
    },
    findById : function(id,cb) {
        return this.findOne({_id:id}).exec(cb);
    },
    findByMovieId : function(movie_id,cb) {
        return this.findOne({movie_id:movie_id}).exec(cb)
    },
    findByMovieIdExec : function(movie_id) {
        return this.findOne({movie_id:movie_id});
    }
};

//每一次保存之前会调用这个方法;
CommentSchema.pre("save",function(next) {
    next();
});

//为mongodb定义了这个数据模型, 这个数据模型和当前的数据库绑定了;
                                       //这个就是数据库内部的table名字;
var Comment = mongoose.model("CommentSchema",CommentSchema);
module.exports =  Comment;

  对于慕课网中的教程进行了一些改进, 比如评论的发布和拉取我通过ajax实时刷新获取, 以及视频的删除不跳转界面等, 也通过ajax进行刷新, 界面的美化(无视这句话)等;

end

时间: 2024-10-13 11:05:45

使用express4.X + jade + mongoose + underscore搭建个人电影网站的相关文章

基于 Node.js + Express + mongoDB + Bootstrap 搭建的电影网站

电影网站 ?? GitHub: https://github.com/bxm0927/movie-website 此项目是基于 Node.js + Express + mongoDB + Bootstrap 搭建的电影网站. 主要功能模块: 一期:前台电影展示页.电影详情页.后台电影管理中心(电影录入.电影修改) 二期:用户登录注册注销功能.用户识别和持久化.后台用户管理中心(用户录入.用户修改).电影评论 <!-- more --> 图片预览 技术栈 [前端] HTML/CSS/JS:亘古不

使用APMServ本地搭建多个网站

October 27, 2014 使用APMServ本地搭建多个网站教程 把我写好的代码直接粘贴到 httpd.conf 文件的末尾.然后保存就可以了.代码如下: <VirtualHost *:80> ServerAdmin * DocumentRoot "E:/APMServ5.2.6/www/htdocs/haochang" ServerName www.web.com </VirtualHost> <VirtualHost *:80> Serv

gibhub上搭建个人静态网站介绍

之前学习过git的基本命令.今天介绍一下github上搭建个人网站的步骤. 在window系统上搭建gibhub个人网站(只能执行html.css和js文件),这就是纯静态页面. 步骤一:注册github账号,https://github.com/ 第二步:登录,https://github.com/login 第三步:创建,如下 第四步: 第五步: 第六步: 第七步: 第八步:访问 链接: 参考一:http://www.cnblogs.com/purediy/archive/2013/03/0

vue+express+mongodb搭建移动端网站

从零开始一步步搭建移动端网站,持续更新,github代码如下,因为放了视频文件,下载可能有点慢,记得点星星~ https://github.com/lanleilin/myHomepage 前端采用Vue2+vuex+vue-cli全家桶搭建,后端采用nodejs+express,数据库采用mongodb.使用部分豆瓣API 下载好后,安装模块,npm国外的网站较慢,建议采用cnpm国内镜像: npm install -g cnpm --registry=https://registry.npm

个人站长如何搭建一个能够赚钱的网站

很多个人站长在建设个人网站时往往会出现不能赚钱的尴尬境地,怎么才能建设一个赚钱效应好的网站呢? 一.自己的上风竞争力,我以为作为一个个人站长,没有雄厚的资金和强大的人力资源,那么你定位制作的网站.论坛或是博客一定要能反应和体现自己的上风竞争力,比如你是个足不出户的人却要制作一个旅游论坛,你东南西北都分不清怎么更新那些原创文章呢?再比如你不懂教育,你反而开设一个教育论坛,又怎么能解答那些专业的教育题目呢?又怎么能拉拢住那些技术比你好的斑竹呢?看清楚自己的上风竞争力,自己或是自己周边.朋友有质优价廉

网时|学生站长适合搭建怎样的网站平台

现如今的创业不仅仅只是社会人士的专属,还包括一些在校的学生,甚至有些00后已经加入创业大军了.小编在这里分享一下作为学生新手站长,可以选择哪些小众平台来开启我们的互联网行业. 1.个人博客 找到合适的服务商,租用服务器或者虚拟主机,搭建一个个人博客平台,有自己独特的域名.空间以及独特的页面排版,发布一些有独特思想或者随记,以供大家阅读,还能与志同道合的人分享交流,打造个人品牌. 2.小型论坛.资讯网站.问答平台 建站初期,可以搭建一个小型论坛,例如你对IDC行业比较感兴趣,可以像网时一样搭建一个

PHPCMS搭建wap手机网站

PHPCMS搭建PC端网站比较方便,但是在wap手机端方面却不怎么实用,而且自带的手机建站感觉不是很好,而且模版不好控制,现在对其进行修改,手机建站个人感觉比较方便 首先在phpcms/libs/functions/extention.func.php里面写入判断手机访问的自定义函数 <?php /** * extention.func.php 用户自定义函数库 * * @copyright (C) 2005-2010 PHPCMS * @license * @lastmodify 2010-1

教你使用Wordpress轻松搭建自己的网站

本文来自e良师益友网 毕业季意味着求职的开始,在求职的时候想不想在面试官面前加分?建个网站呗.不会代码?其实方法很多,今天介绍一种全世界最流行的搭建个人博客方法,教程简单实用,新手也可以很快就搞定. 博客搭建并不复杂,只是过程有点繁琐,适合喜欢折腾的人,主要有下面几个步骤: 1.新建一个博客文件 在搭建博客的过程中,我们需要创建一个文件,用来存储博客的相关信息.这些信息包括域名的信息,主机空间服务器ip,FTP登录名和密码,空间面板登录信息等等,只要是与该博客有关的信息,全部存在这个文件内,方便

如何用最小的成本搭建一个优质网站

提起网站相信很多人对此并不陌生,网站是很多企业线上宣传产品的重要平台,通过网站可以展示企业产品.树立企业文化.维护企业形象的重要平台.在进行网站架设是需要注册域名.设计网站.进行服务器租用或托管等等,很多用户在进行网站建设时考虑最多的要数网站建设的费用问题,用最少的费用搭建优质的网站是很多用户的目标,那么,如何用最小的成本搭建一个优质网站? 一.注册合适域名 所谓域名就是说我们在网络上的地址,客户可以直接通过在浏览器上输入这个域名进入我们的网站,域名有免费的也有付费的,免费的域名一般为二级域名或