0. 环境准备
为了记录网站创作、学习过程中遇到的问题,方便学习记忆,决定每次更新的同时,会记录本次更新中遇到的技术问题与解决方法。
欢迎大家访问我的Github:https://github.com/xiangmeng4geo/XMAdmin
本次更新主要创建了工程项目。由于本项目打算前后端都借助于StrongLoop进行搭建,所以项目创建初期就采用了StrongLoop进行构建。
首先要下载安装StrongLoop:
npm install -g strongloop
这样,我们便下载了最新的strongloop,对于不了解StrongLoop的同学,可以上网查询相关文档。
因为国内npm下载较慢,我经常用淘宝的npm镜像来下载cnpm来下载,或者npm install -g cnpm
下载安装完成后,通过slc命令(StrongLoopControl,我猜的)来初始化工程文件夹。
slc loopback
然后,初始化bower用于管理前台类库依赖
bower init
没装过bower的同学,可以通过npm install -g bower来下载安装bower
为了可以进行自动测试,还需要安装《精通AngularJS》推荐的自动JS测试工具Jasmine与Karma。
具体安装方法请参考这里
或参考这里
先把数据库连接建起来,这里牵扯到LoopBack的一些基本操作,我会专门整理,这里先不展开讨论,仅仅记录mongodb的连接
1. 下载MongoDB并且配置环境变量
2. 根据需要,下载对应的StrongLoop驱动程序:
npm install --save loopback-connector-mongodb
npm install --save loopback-connector-mysql
npm install --save loopback-connector-postgresql
npm install --save loopback-connector-msssql
npm install --save loopback-connector-oracle
3. 先通过可视化界面,建立一个用户数据库持久化对象SysUser,方便登录界面使用。
slc arc
点击Composer可以建立数据库连接、修改数据模型:
建立SysUser模型(因为User模型为LoopBack系统内置模型,我们继承自这个模型即可)
4. 在项目文件夹下建立Mongo数据库
先创建一个db-start.bat文件,方便以后快速启动MongoDB
db-start.bat内容如下:
mongod –dbpath .\db\
路径我设置到项目路径的\db文件夹下了,朋友们可以根据自己需要设置
5. 运行并测试服务
通过运行如下命令:
slc run
可以运行服务。在浏览器输入:
http://localhost:3000/explorer/
可以看到相关服务API接口
6.生成AngularJS
什么?StrongLoop除了数据库建模,还能生成JS API?
没错,这正是StrongLoop框架的强大之处,它可以根据服务端建立的模型自动生成Rest服务,还可以根据服务创建AngularJS的API方法。
为了以后维护方便,我将API生成脚本写在gen-ng-api.bat文件中了,内容如下:
lb-ng server/server.js client/js/lb-services.js
首先确认client/js/文件夹存在,否则生成可能会报错。
好了,感兴趣的同学可以看一下lb-service.js里服务的客户端API是如何定义的,以便以后通过AngularJS调用。