本地搭建Node环境并起RESTful Api服务
课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html
项目github地址:https://github.com/hellozhangran/happy-egg-server
说明:本想分两章讲环境搭建和起api服务,但操作下来确实过于简单。但考虑到整个系列的完整性也不能不讲,那就把这两篇合二为一吧
本地搭建Node环境
开发环境主要是指Node、MongoDB。本人是用的mac电脑,所以本地环境也是按照mac搭搭建的。
Node
- 最简单的方式,直接从官网下.pkg文件,图形化安装即可。https://nodejs.org/en/
- 找到 Download for macOS (x64),下载稳定版本,当前的版本是:12.14.0 LTS
- 图形化安装会自动配置环境变量,装完后
node -v
验证安装是否成功。
MongoDB
安装之前要了解的
先确认下自己的Mac上是否装过,如果自己习惯使用homebrew,
brew list
查看是否用brew装过mongodb。如果是用homebrew装的,默认配置文件路径是/usr/local/etc/mongod.conf
。如果没有装 mongodb,就不要用 homebrew 安装了,因为现在homebrew已经不支持mongodb了。原因我在readme中也说了,具体可以看这里 brew安装mongodb报错。关于mongo的八卦新闻感兴趣的可以看下这里惨遭红帽弃用,MongoDB 要凉凉了吗?
重新安装mongodb
- 下载
cd /usr/local && sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
- 解压
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
- 重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
- 配置PATH
export PATH=/usr/local/mongodb/bin:$PATH
或者去.base_profile中设置path- 这一步完成后,
mongod
就可以执行了。很多教程会在/usr/local/etc中配置mongo.conf文件,在/user/local/var中配置mongo.log&data文件,不过使用下来发现,经常找不到。我们可以简单的配置下,把这些文件都放到/user/local/mongodb下面
- 这一步完成后,
- 配置
mongod.conf
。- 在/user/local/mongodb下新建
mongod.conf
文件并写入
# Store data in /usr/local/mongodb/data instead of the default /data/db
dbpath = /usr/local/mongodb/data # Append logs to /usr/local/mongodb/log/mongo.log
logpath = /usr/local/mongodb/log/mongo.log
logappend = true # Only accept local connections
bind_ip = 127.0.0.1- mongod.conf中指定的一个data目录,一个mongo.log文件要自己手动创建下。
- 在/user/local/mongodb下新建
- 启动mongod服务
mongod --config /usr/local/mongodb/mongod.conf
- 进入mongo数据库
mongo
本章内容与第5篇内容极为相似,可参考
部署项目到腾讯云服务器
使用Express起RESTful Api服务
简单的api demo
- 安装 express 包:
npm install --save express
- 用 express 创建一个服务,文件名
app.js
const express = require('express');
const app = express();
app.use('/api', (req, res, next) => {
res.json('hello i am api');
});
app.listen('3000', () => {
console.log('listen: 3000');
});
- 用 node 启动该文件
node app.js
,在浏览器输入localhost:3000/api
就会看到。
express的使用非常简单,去官网或任何一个网站找找就能起一个express服务。写到这我都担心太简单会被大家吐槽。不急,慢慢来吧,更精彩的会逐渐呈现。