基於node.js的部落格搭建
阿新 • • 發佈:2018-11-09
一個部落格應當具備哪些功能?
前臺展示
- 點選下一頁,可以點選分類導航。
- 可以點選進入到具體博文頁面
- 下方允許評論。顯示發表時間。允許留言分頁。
- 右側有登入註冊介面。
後臺管理
- 管理員賬號:登陸後看到頁面不一樣,有後臺頁面。
- 允許新增新的分類。從後臺新增新的文章。
- 編輯允許markdown寫法。
- 評論管理。
安裝模組
-
Express
一個簡潔靈活的node.js WEB應用框架,提供一系列強大的特性幫助我們建立web應用。
-
Mongodb
用於儲存產生的資料
第三方模組和中介軟體:
- bodyParser,解析post請求資料
- cookies:讀寫cookie
- swig:模板解析引擎
- mongoose:操作Mongodb資料
- markdown:語法解析生成模組
建立應用
const express=require('express')
const app=express()
app.get('/',(req,res,next)=>{
res.send('<h1>歡迎光臨我的部落格!</h1>') // req:request物件,儲存客戶請求相關的一些資料——http.request
// res:response物件,服務端輸出物件,停工了一些服務端相關的輸出方法——http.response
// next:方法,用於執行下一個和路徑相匹配的函式(行為)。
})
app.listen(8010,()=>{
console.log('123')
})
在Express框架下,可以通過app.get()
或app.post()
等方式,把一個url路徑和(1-n)個函式進行繫結。當滿足對應的規則時,對應的函式將會被執行,該函式有三個引數res,req,next
模板引擎的配置和使用
// 定義模板引擎,使用swig.renderFile方法解析字尾為html的檔案 var swig=require('swig'); app.engine('html',swig.renderFile); // 設定模板存放目錄 app.set('views','./views');// 註冊模板引擎 app.set('view engine','html'); swig.setDefaults({cache:false});
配置模板的基本流程是:
請求swig模組
=>定義模板引擎
=>註冊模板引擎
=>設定除錯方法
我們可以使用var swig=require('swig');
定義了swig方法。
以下進行逐行解析——
定義模板引擎
app.engine('html',swig.renderFile);
第一個引數:模板引擎的名稱,同時也是模板引擎的字尾,你可以定義開啟的是任何檔案格式,比如json,甚至tdl等。
第二個引數表示用於解析處理模板內容的方法。
第三個引數:使用swig.renderFile方法解析字尾為html的檔案。
設定模板目錄
現在就用express元件提供的set方法標設定模板目錄:
app.set('views','./views');
定義目錄時也有兩個引數,注意,第一個引數必須為views
!第二個引數可以是我們所給出的路徑。因為之前已經定義了模板資料夾為views
。所以,使用對應的路徑名為./views
。
註冊模板引擎
app.set('view engine','html');
還是使用express提供了set方法。
第一個引數必須是字串'view engine'
。
第二個引數和app.engine
方法定義的模板引擎名稱(第一個引數)必須是一致的(都是“html”)。