(-。-;), 週末過得真是快啊, 好久之前就看到imooc上有個搭建我的電影網站一期 ,二期的視頻, 這兩週宅家裏擼玩沒事幹, 我也學着搭了一個, 這些東西都是基礎, 只要花點時間很好學的, nodeJS這東東就是輕量級, 哪裏不爽點哪裏。前端
若是你學着寫完能夠學到:node
....git
整個網頁主要包含了如下四個模塊:github
主頁 ( ?? ω ?? )y; 列表頁 電影詳情頁 管理頁 電影新增 電影刪除 電影信息編輯 註冊 登錄 登出
經過路由進行權限管理
用戶的評論 用戶評論互評
慕課網nodeJS的講師Scott提供的Github地址是:打開 ,這個項目的express是3.x系列的,因此使用express4.x系列的確定跑不起來,而後我本身寫了一個4.x的,Github的項目地址是:沒有, 可是你能夠點擊這裏下載源碼, 做爲學習的參考, 等我把界面再作漂亮點, 功能更好的時候就傳Git;ajax
項目的主要目錄結構跟日常的express默認結構差很少mongodb
項目所依賴的模塊還挺多的.... 全安裝就行了;數據庫
其實bower, less和jslint, mocha, karma, kaola....我都沒有用, 過高端了用不起來..工具真心太多了;express
主界面大概是這樣的,能夠先睹爲快:npm
視頻界面以下, 新增視頻的時候填寫的地址默認有一個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
做者: NONO
出處:http://www.cnblogs.com/diligenceday/
企業網站:http://www.idrwl.com/ 廈門點燃將來網絡科技
開源博客:http://www.github.com/sqqihao
QQ:287101329
微信:18101055830