最近刚新搭了一个博客,用的是 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