一、解决先决条件
使用docker 创建 mongoDB和Redis容器
1. 关于mongoDB镜像和容器
docker pull mongo
docker run -itd --name mongoService -p 27017:27017 mongo
2. 关于redis镜像和容器
docker pull redis
docker run -itd --name redisService -p 6379:6379 redis
**补充 ** : 其实在源码(假设你先下载了源码)中已经给我们做好了,就当练手了
3. 两个docker容器运行结果
二、下载源码 跑起项目
2.1 下载源码
git clone https://github.com/strongloop/loopback4-example-shopping.git
如果 出现 time out 或者其他错误,可能因为那啥墙之类的,可以换个域名
github.com ===》github.com.cnpmjs.org/
源码目录结构
2.2 运行项目
2.2.1 进入项目根目录
cd loopback4-example-shopping
2.2.2 安装依赖
本来想用cnpm i
,但是报错,所以还是老老实实的用 npm i
npm i
2.2.3 启动项目
npm start
看起来不错,运行成功了
3.查看结果
浏览器 打开 localhost:3000/shoppy.html,运行成功
3.测试数据是否存储
(由于才学疏浅,mongoDB的命令没学过,所以只学会了如下三个)
show dbs``````use test``````show collections
怕有人不知道,如何在mongoService这个容器中查询,这里罗嗦点。
docker exec -it mongoService bash
然后 mongo
然后执行上面相关查询的命令,就是截图的内容了。
可以看到上面截图有关于Product,User,UserCredentials 这个集合,项目源码中也有三个相关model,尽管我知道这样的结果不严谨,但是可以证明数据写入了mongoService.
总结
-
在开发学习阶段,关于环境部署,应该是越简单越好,比如把相关的服务交给docker来创建,docker search XXX 就能得到不错的镜像,然后 run一下就出来一个相关服务容器。
-
在跑这个项目的过程中,在run mongoService的时候加了–auth,导致npm start的时候报错(后来的记录中删了),所以还是在准备环境的时候少给自己挖坑。
-
关于mongoDB的概念、命令行完全空白,需要找时间补补,或者使用数据库管理工具来管理也是可以的,毕竟数据库那么多,不可能每个都掌握。
-
关于第三方服务(mongoDB,redis)在项目源码中就可以找到相关配置,尽管看不懂,但是全局搜索一两个关键词,还是能找到点有用信息的。比如这两个配置信息 都在/package/shopping/src/datasource 下面,也和之前学到的一样,数据源(datasource)是用来配置相关数据服务的文件。