基于Node.js + jade + Mongoose 模仿gokk.tv
原文摘自我的前端博客,欢迎大家来访问
关于gokk
大学的娱乐活动基本就是在寝室看电影了→_→,一般都会选择去goxiazai.cc上看,里面的资源多,质量高 。站长会推荐评分很高广受好评的电影给大家免费下载,整体来说真是不错,但前两月由于版权问题被迫转型 这也是没办法的事,程序员更应该尊重版权问题,我们也能理解,后来站长又开了gokk个不是给地址让你 下载,而是将网络一些优秀视频站点资源提供出来观看,质量变低了,好怀念以前的goxiazai啊。。
最近在学习Node.js,也看了imooc的源码 ,自己模仿gokk.tv的前台搭建了一个基于Node.js + Mongoose + Bootstrap,很简单的页面, 花了两天时间,第一次Node体验就交给gokk了,向goxiazai致敬!
展示
首页一
首页二
详情页
新增页
获取源码
源码托管于git
部署于运行
使用npm将项目打包,大家检出来后使用npm install即可安装
使用node app运行,数据库使用Mongdb,请自行安装,测试数据在test/db.js下
希望您能提出建议或意见
数据结构
movies 下面有columnName 表示栏目的名称,如电影、动画、娱乐等 movie是一个数组 里面放入Json对象,表示改栏目下的所有电影,这样非关系数据库的好处就是之前如果遵循低冗余 原则必须建立两张表来使column和movie一对多,后来感觉应该用两个Schema更合理
功能
首页、详情页、新增
未实现:分页、查看列表、后台删除、编辑
什么原因让我只写了个新增功能?
由于是第一次编写node,在编写的过程中遇到很多问题,虽然node提供了分页limit,但是 只能分一张表内的,比如movies这张表,不能对一条数据低下movie数组集合下分量取出。
后来在Mongoose学习参考文档——基础篇看到有这么一个东西Sub Docs
如同SQL数据库中2张表有主外关系,Mongoose将2个Document的嵌套叫做Sub-Docs(子文档)简单的说就是一个Document嵌套另外一个Document或者Documents:
这可能是我想要的,但是第一次开发重点不是在Mongoose上,node的书还不是看的很多,这算是我的 一个学习过程中的小测试吧!计划开发两天时间,如果修改会越陷越深,我明白我现在的node开发流程有很大问题,流程不不正确 。我把在这上面越陷越深,写起来感觉效率真的不是很高,所以其他功能立即停止开发。
这也是项目半成品的一个原因吧
基于Node.js + jade + Mongoose 模仿gokk.tv的更多相关文章
- [js高手之路]Node.js+jade+mongoose实战todolist(分页,ajax编辑,删除)
该系列文章索引: [js高手之路]node js系列课程-创建简易web服务器与文件读写 [js高手之路]node js系列课程-图解express+supervisor+ejs用法 [js高手之路] ...
- [js高手之路]Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件
接着这篇文章[js高手之路]Node.js+jade抓取博客所有文章生成静态html文件继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件.那么我选 ...
- [js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist
promise主要是用来解决异步回调问题,其实还有好几种比promise更好的方案,后面再说,这节,我们先用promise来改造下,我以前写的一篇文章[js高手之路]javascript腾讯面试题学习 ...
- 《基于Node.js实现简易聊天室系列之详细设计》
一个完整的项目基本分为三个部分:前端.后台和数据库.依照软件工程的理论知识,应该依次按照以下几个步骤:需求分析.概要设计.详细设计.编码.测试等.由于缺乏相关知识的储备,导致这个Demo系列的文章层次 ...
- 基于Node.js的ghost开源博客平台
Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...
- NodeBB – 基于 Node.js 的开源论坛系统
NodeBB 是一个更好的论坛平台,专门为现代网络打造.它是免费的,易于使用. NodeBB 论坛软件是基于 Node.js 开发,支持 Redis 或 MongoDB 的数据库.它利用 Web So ...
- 基于 Node.js 平台,快速、开放、极简的 web 开发框架。
资料地址:http://www.expressjs.com.cn/ Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. $ npm install express -- ...
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese
- Fenix – 基于 Node.js 的桌面静态 Web 服务器
Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...
随机推荐
- CAS自定义登录验证方法
一.CAS登录认证原理 CAS认证流程如下图: CAS服务器的org.jasig.cas.authentication.AuthenticationManager负责基于提供的凭证信息进行用户认证.与 ...
- PHP+微信分享自定义小图标
微信分享以后的小图标如下图: <script>document.addEventListener('WeixinJSBridgeReady', function onBridgeReady ...
- [USACO2002][poj1945]Power Hungry Cows(启发式搜索)
Power Hungry CowsTime Limit: 1000MS Memory Limit: 30000K Total Submissions: 4570 Accepted: 1120 Desc ...
- javascript继承(四)—prototype属性介绍
js里每一个function都有一个prototype属性,而每一个实例都有constructor属性,并且每一个function的prototype都有一个constructor属性,这个属性会指向 ...
- 第六章:Javascript对象
对象是javascript的基本数据类型.对象是一种复合值.它将很多值(原始值 或者其他对象)聚合在一起.可通过名字访问这些值.对象也可以看做是属性的无序集合,每个属性都有一个名/值.属性名是字符串, ...
- please tell me the error about java Graphics
this is the code: public class paint extends JFrame{ public paint(){ setLayout(new FlowLayout()); se ...
- 使用Git进行代码管理
Git简介 Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件. 先讲一下如何把开源项目fork到自己的github中 1. 点击图中的 ...
- python 参数
摘自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00137473844933 ...
- ORACLE建表练习
1,学生表 -- Create table create table T_HQ_XS ( xueh ) not null, xingm ) not null, xingb ) ', nianl NUM ...
- hdu1711 KMP
#include<stdio.h> #include<string.h> #define maxn 1000010 int next[maxn],s[maxn],p[maxn] ...