最近剛新搭了一個博客,用的是 MongoDB + Express + NodeJS ,爲啥標題這麼長不直接用 MEAN.JS 代替,由於爲了熟悉整個流程並無使用 MEAN.JS,並且我也沒有帶上任何的前端框架,由於前端用什麼框架並不重要,用 Angular,React 什麼的均可以。爲啥如今纔開始搭?主要是之前太懶了不愛寫博客,如今幡然醒悟了,應該還能夠亡羊補牢一下。因此其實網上教程已經很是多了,可是這邊仍是要記錄一下。大部分安裝地址都有在最後提供。html
廢話很少說,先上步驟:前端
NodeJS + NPM + mongoDBnode
建立項目文件夾mongodb
安裝 Expressdocker
Index.js + nodemon數據庫
配合 mongoDBexpress
補充說明npm
1.NodeJS + NPM + mongoDB後端
首先要在電腦裏安裝 NodeJS 和 NPM,去 NodeJS 的官網下載,可以順帶着也把 NPM 下載下來了,由於我很早就下過了,因此這裏不提供具體操做。前端框架
我還須要一個 mongoDB 的鏡像。我是用 Docker 下載到 Linux 的虛擬機裏面(正確姿式是去租個服務器,在服務器裏操做),這裏不提供安裝 Linux 以及 Docker 的具體步驟。
下載 mongoDB 的步驟以下:
1. 首先經過 ssh 鏈接本機和虛擬機。
接着本機直接運行:
docker run -d -p 27017:27017 -p 28017:28017 tutum/mongodb
就能自動 pull mongoDB 的鏡像到 Docker 容器中,
2. 執行 docker ps 查看容器,可以看到有一個 CONTAINER_ID 。
3. 執行 docker logs <CONTAINER_ID> 能夠看到下面的內容:
======================================================================== You can now connect to this MongoDB server using: mongo admin -u admin -p 5elsT6KtjrqV--host --port Please remember to change the above password as soon as possible! ========================================================================
其中 5elsT6KtjrqV 是待會兒要用到的密碼。
4. 與此同時,我還須要一個能夠直接管理 mongoDB 的工具 MongoHub。
配置 MongoHub :下面是我已經配置好的內容,其中 Address 是虛擬機的 IP, Password 就是上面提到的 5elsT6KtjrqV ,這個密碼是隨機生成的。
設置成功之後就可以連上數據庫了。
2.建立項目文件夾
準備工做的時間可能會比較長,下面幾步將會比較簡單
建立文件夾 $ mkdir myblog
進到文件夾裏 $ cd myblog
NPM 初始化 $ npm init
,初始化的時候能夠設置入口文件 entry point , 我設置爲 index.js
3.安裝 Express
接下來須要安裝 Express
$ npm install express --save
Express 項目中一般使用 body-parser 進行 post 參數的解析
因此還須要下載 body-parser :
$ npm install body-parser --save
4.Index.js + nodemon
安裝完成之後咱們能夠直接寫一些後端的代碼。
首先我新建一個 index.js 的文件(由於剛纔 npm 初始化的時候指定了 entry point 是 index.js),這裏的 index.js 是寫後端代碼用的,參考 Express 官網,代碼以下:
而後打開 terminal ,執行 node index.js ,此時就能經過 http://localhost:3000/ 看到 This is my blog! 字樣啦。
nodemon 能夠選擇性安裝。它是什麼呢?因爲每次修改代碼之後都須要重啓一下 node,而 nodemon 可以在代碼修改了之後自動重啓,省去了一些麻煩。安裝過程也很簡單:
npm install nodemon -g
這邊全局安裝,而後將 node index.js 替換成 nodemon index.js 去執行就能夠了
5.配合 mongoDB
mongoDB 是 NoSQL 型數據庫,所以存取方式和之前的 SQL 語句不同,具體辦法能夠參考 mongoDB 官網。
下載 $ npm install mongo --save-dev
這裏並非在下載 mongoDB,而是須要這個依賴去支持咱們進行一些數據庫的操做。
簡單寫一下,爲了方便依舊寫在 index.js 裏,
6.補充說明
這裏並無列出任何前端代碼,也沒有寫任何前端頁面,其實只要是把這些所有搭建好,先後端走通,剩下的只需按照平時工做中負責前端的部分去作就好。徹底能夠新建一個 index.html 就開始寫寫寫了。
(下面的內容不重要,能夠不看。)
我雖然沒有寫前端頁面,可是須要有前端的 post 請求來進行測試,我用到了 postman,不知道何時安裝到電腦上的 = =。上手比較簡單,針對剛纔的代碼,能夠直接像下面這樣配置,而後 send,若是發送成功的話,就能看到返回 Success 字樣,具體就不細說了。本身折騰去吧 ~
mongoDB 鏡像地址:https://hub.docker.com/r/tutum/mongodb/
mongoHub 下載地址:http://www.macupdate.com/app/mac/33918/mongohub
Express 安裝地址:http://expressjs.com/en/starter/installing.html