摘要:開發指南原有的下載地址失效了,想要的朋友可以戳我項目完整代碼一個基于和的簡單微博項目,具體描述詳見開發指南。改為其中書中使用來實現服務器返回信息的顯示,但是該方法在很久之前被廢除。
Nodejs開發指南PDF(原有的下載地址失效了,想要pdf的朋友可以戳我): http://wenku.baidu.com/link?url=RSy6donQq0guPBwwFZiWjPGJzzINmuierqZJr9ZMxfivll2gw2AtK9SNu_BGAsEBq5-WMyaZwzpQeDoyWM_t67eLOCsHOnhO5LF4onWva8y 項目完整代碼: https://github.com/chnmagnus/MBlog
一個基于express和mongodb 的簡單微博項目,具體描述詳見《Nodejs開發指南》。
網上也有一些該項目實現的代碼,但是基本都是幾年前的= =,許多代碼都無法運行,各種search之后終于用各種最新版本的代碼實現了這一項目,特此記錄,分享。
簡單說一下我的代碼相對書中代碼的變化:
1.ejs模板,layout.js被廢棄,所以我使用include來提升代碼的復用性。
將html代碼的head及nav部分放在header.ejs中,將頁腳部分放在footer.ejs中,然后在需要的部分使用<%- include header.ejs %>的方式來進行引入。
2.app.METHOD(URL,function) 改為 app.use(URL,routes);
其中var routes = require("./routes/index");
3.書中使用req.flash()來實現服務器返回信息的顯示,但是該方法在很久之前被廢除。
解決方法一:
如果想繼續使用req.flash(),需要require("connect-flash")模塊(https://github.com/jaredhanso...),但這個模塊也已三年沒有更新過了= =,我并不確定是否能用。
解決方法二:
我是使用了res.locals.xxx;以及添加中間件的方式來進行信息的反饋。在需要返回信息給客戶端的位置,例如登錄成功時,使用如下代碼:
res.lacals.result = "登錄成功"; res.redirect("/");
配合app.js中的部分代碼:
var session = require("express-session"); var MongoStore = require("connect-mongo")(session); //... app.use(session({ name: settings.name, secret: settings.secret, cookie: { maxAge: 1000*60*30 }, store: new MongoStore({ url: settings.url }) })); //... //這部分代碼是放在對具體路徑進行處理之前的 app.use(function (req,res,next) { res.locals.user = req.session.user; var result = req.session.result; delete req.session.result; res.locals.message = ""; if(result){ res.locals.message = result; } next();//中間件傳遞 });
當然,不要忘記修改ejs模板,在開頭添加代碼用來顯示反饋信息:
<% if (message) { %><%= message %><% } %>
效果如下圖:
4.使用了官方推薦的MongoClient方式來進行數據庫的連接,關于這種方式的模塊化,我也存有困惑,在segmentfault上提過問題= =,沒有得到回答,自己摸索著解決的,可以看我的提問。
大概就是這樣,共勉,一起努力= =
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18822.html
摘要:中文資料導航官網七牛鏡像深入淺出系列進階必讀中文文檔被誤解的編寫實戰系列熱門模塊排行榜,方便找出你想要的模塊多線程,真正的非阻塞淺析的類利用編寫異步多線程的實例中與的區別管道拒絕服務漏洞高級編程業界新聞看如何評價他們的首次嘗鮮程序員如何說服 node.js中文資料導航 Node.js HomePage Node官網七牛鏡像 Infoq深入淺出Node.js系列(進階必讀) Nod...
摘要:也是一款優秀的響應式框架站點所使用的一套框架為微信服務量身設計的一套框架一組很小的,響應式的組件,你可以在網頁的項目上到處使用一個可定制的文件,使瀏覽器呈現的所有元素,更一致和符合現代標準。 GitHub 值得收藏的前端項目 整理與收集的一些比較優秀github項目,方便自己閱讀,順便分享出來,大家一起學習,本篇文章會持續更新,版權歸原作者所有。歡迎github star與fork 預...
摘要:更多資源請文章轉自月份前端資源分享的作用數組元素隨機化排序算法實現學習筆記數組隨機排序個變態題解析上個變態題解析下中的數字前端開發筆記本過目不忘正則表達式聊一聊前端存儲那些事兒一鍵分享到各種寫給剛入門的前端工程師的前后端交互指南物聯網世界的 更多資源請Star:https://github.com/maidishike... 文章轉自:https://github.com/jsfr...
摘要:后端知識點總結基礎不是是一種軟件開發平臺,它的競爭對象歷史第一次有一種語言可以通吃前后端網站阿里云鏡像版本年初年中年底最新版本功能強大可靠,適合大型企業級項目簡單易用適合互聯網項目易用適合平臺性能好適合服務器端密集型項目不適合密集型項目密集 后端知識點總結——NODE.JS基礎 1.Node.js Node.js不是JS,是一種軟件開發平臺,它的競爭對象JSP/PHP/ASP.NET...
閱讀 3149·2021-11-22 13:54
閱讀 3435·2021-11-15 11:37
閱讀 3598·2021-10-14 09:43
閱讀 3496·2021-09-09 11:52
閱讀 3595·2019-08-30 15:53
閱讀 2457·2019-08-30 13:50
閱讀 2055·2019-08-30 11:07
閱讀 886·2019-08-29 16:32