創(chuàng)建一個(gè)項(xiàng)目文件夾
$ mkdir myapp
$ cd myapp
$ npm init
安裝 Express
$ npm install express --save
后端走通
新建 index.js 文件暇咆,然后開始寫后端代碼入偷,配合 postman 調(diào)試
npm install nodemon --save-dev
前端安裝 Angular
nam install angular —save-dev 安裝的是 Angular 1.x 版本
?
配合mongoDB
最近剛新搭了一個(gè)博客,用的是 Angular + MongoDB + Express + Node ,為了熟悉整個(gè)流程并沒(méi)有使用 MeanJS 框架厂僧,為啥現(xiàn)在才開始搭?主要是以前太懶了不愛寫博客,現(xiàn)在幡然悔悟了,應(yīng)該還可以亡羊補(bǔ)牢一下败去。所以其實(shí)網(wǎng)上教程已經(jīng)非常多了,但是這邊還是要記錄一下烈拒。
廢話不多說(shuō)圆裕,先上步驟:
NodeJS + NPM + mongoDB
創(chuàng)建項(xiàng)目文件夾
安裝 Express
Index.js + nodemon
安裝 AngularJS
配合 mongoDB
補(bǔ)充說(shuō)明
1.NodeJS + NPM + mongoDB
首先要在電腦里安裝 NodeJS 和 NPM,去 NodeJS 的官網(wǎng)下載缺菌,能夠順帶著也把 NPM 下載下來(lái)了葫辐,因?yàn)槲液茉缇拖逻^(guò)了搜锰,所以這里不提供具體操作伴郁。附上官網(wǎng)地址:https://nodejs.org/en/
接著要下載 mongoDB,我是用 Docker 下載到 Linux 的虛擬機(jī)里面(正確姿勢(shì)是去租個(gè)服務(wù)器)蛋叼,這里不提供安裝 Linux 以及 Docker 的具體步驟焊傅。我只需要一個(gè) mongoDB 的鏡像,附上鏡像地址:https://hub.docker.com/r/tutum/mongodb/狈涮。
首先通過(guò) ssh 連接本機(jī)和虛擬機(jī)狐胎。
本機(jī)直接運(yùn)行:
docker run -d -p 27017:27017 -p 28017:28017 tutum/mongodb
就能自動(dòng) pull 鏡像到 Docker 容器中,
執(zhí)行 docker ps 查看容器歌馍,能夠看到有一個(gè) CONTAINER_ID 握巢。
執(zhí)行 docker logs <CONTAINER_ID> 能夠看到下面的內(nèi)容:
======================================================================== 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 是待會(huì)兒要用到的密碼。
與此同時(shí)松却,我還需要一個(gè)可以直接管理 mongoDB 的工具 MongoHub暴浦。附上下載地址:http://www.macupdate.com/app/mac/33918/mongohub
這時(shí)需要配置 MongoHub 了,左下角有一個(gè)加號(hào)晓锻,點(diǎn)進(jìn)去看到下面這樣的配置項(xiàng)歌焦,只需要填紅色部分,下面是我已經(jīng)配置好的內(nèi)容砚哆,其中 Address 是虛擬機(jī)的 IP独撇, Password 就是上面那個(gè) 5elsT6KtjrqV 。
2.創(chuàng)建項(xiàng)目文件夾
準(zhǔn)備工作的時(shí)間可能會(huì)比較長(zhǎng),下面幾步就簡(jiǎn)單了
創(chuàng)建文件夾 $ mkdir myblog
進(jìn)到文件夾里 $ cd myblog
NPM 初始化 $ npm init
纷铣,初始化的時(shí)候可以設(shè)置入口文件 entry point 卵史, 我設(shè)置為 index.js
3.安裝 Express
接下來(lái)需要安裝 Express
$ npm install express --save
地址:http://expressjs.com/en/starter/installing.html
express項(xiàng)目中通常使用body-parser進(jìn)行post參數(shù)的解析
下載 body-parser :
$ npm install body-parser --save
4.Index.js + nodemon
安裝完成以后我們可以直接寫一些后端的代碼了,首先我新建一個(gè) index.js 的文件搜立,因?yàn)閯偛?npm 初始化的時(shí)候指定了 entry point 是 index.js程腹,這里的 index.js 是寫后端代碼用的,因?yàn)?Node 是這邊的后端儒拂,代碼如下:
// index.js
var express = require('express');
var app = express();
?
app.get('/', function (req, res) {
res.send('This is my blog!');
});
?
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
然后打開 terminal 寸潦,執(zhí)行 node index.js ,此時(shí)就能通過(guò) http://localhost:3000/ 看到 This is my blog! 字樣啦社痛。
nodemon 可以選擇性安裝见转。它是什么呢?由于每次修改代碼以后都需要重啟一下 node蒜哀,而 nodemon 能夠在代碼修改了以后自動(dòng)重啟斩箫,省去了一些麻煩。安裝過(guò)程也很簡(jiǎn)單:
npm install nodemon --save-dev
5.安裝 AngularJS
用 NPM 下載 AngularJS 的安裝包就好撵儿。
$ npm install angular--save-dev
6.配合 mongoDB
mongoDB 是 NoSQL 型數(shù)據(jù)庫(kù)乘客,因此存取方式和以前的 Select … From .. Where ..之類的不一樣,具體辦法可以參考 mongoDB 官網(wǎng)淀歇。簡(jiǎn)單寫一下易核,
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://192.168.240.1:27017/blog', function (err, db) {
app.post('/FrontEnd', function (req,res) { // 前端發(fā)送 POST 請(qǐng)求
//不需要預(yù)先創(chuàng)建 collection,如果不存在它會(huì)自動(dòng)創(chuàng)建名稱為 article 的collection
db.collection('article').insert(
{
name: "ES6",
content: "Generator",
created_time: 1464420258
}
);
res.send('Success'); // 返回 Success 到前端頁(yè)面
})
?
});
7.補(bǔ)充說(shuō)明
這里并沒(méi)有列出任何前端代碼浪默,也沒(méi)有寫任何前端頁(yè)面牡直,其實(shí)只要是把這些全部搭建好,前后端走通纳决,剩下的就是完全按照平時(shí)工作中只負(fù)責(zé)前端的部分去做就好了碰逸。
我雖然沒(méi)有寫前端頁(yè)面,但是需要有前端的 post 請(qǐng)求來(lái)進(jìn)行測(cè)試阔加,我用到了 postman饵史,不知道什么時(shí)候安裝到電腦上的 = =。上手比較簡(jiǎn)單胜榔,針對(duì)剛才的代碼胳喷,可以直接像下面這樣配置,然后 send苗分,如果發(fā)送成功的話厌蔽,就能看到返回 Success 字樣,具體就不細(xì)說(shuō)了摔癣。自己折騰去吧 ~