StrongLoop 是 IBM的一家子公司,StrongLoop API Platform
构建于开源的LoopBack.io之上,LoopBack
是一个高度可扩展的Node.js API框架。借助于LoopBack,我们可以快速创建可扩展的API和数据库映射。
StrongLoop
能与很多当前主流数据库集成使用,如Mongodb
、Mysql
等。
下面介绍的内容采用Mysql数据库作为示例,若使用其他数据库可对应修改
在安装StrongLoop
之前,请确保已经安装好:
在上面环境搭建好的情况下执行下面命令安装StrongLoop:
npm install -g strongloop
安装成功之后可以查看当前安装StrongLoop的版本:
slc -v
执行下面命令会在当前目录下面创建一个名为loopback-demo
的应用程序:
slc loopback loopback-demo
紧接着输入程序名称和安装目录,完成程序的初始化。
在上面创建的LoopBack应用程序根目录下面执行下面命令启动应用程序:
slc run
在浏览器打开http://127.0.0.1:3000/explorer/,若能看到下面截图表示成功。
在应用程序根目录下执行下面命令安装Mysql连接器,如想用其他数据库,只需要修改mysql关键词。
npm i --save loopback-connector-mysql
在上面已经添加了Mysql数据库支持,现在要为数据库配置数据源,下面命令创建名为“AccountDb”的新数据源:
slc loopback:datasource AccountDb
接受默认数据源名称,数据库类型这里选择Mysql。
在应用程序目录打开server/datasources.json
文件,添加Mysql数据库的配置信息,示例如下:
{
"db": {
"name": "db",
"connector": "memory"
},
"AccountDb": {
"host": "localhost",
"port": 3306,
"database": "strongloop_demo",
"username": "root",
"password": "",
"name": "AccountDb",
"connector": "mysql"
}
}
下面命令为Account
对象创建一个模型
slc loopback:model Account
按照提示一步步选择,对于模型的"base class",使用"PersistedModel"并选择通过REST API
公开该模型。
对于数据模型上的属性,创建以下3个属性:
在项目根目录下的server
文件夹创建一个bin
目录,并且创建一个名为automigrate.js
的文件,内容如下:
var app = require('../server');
var accounts = [
{
email:'foo@bar.com',
createdAt: new Date(),
lastModifiedAt: new Date()
},
{
email:'baz@qux.com',
createdAt: new Date(),
lastModifiedAt: new Date()
}
];
// this loads the accountDb configuration in ~/server/datasources.json
var dataSource = app.dataSources.AccountDb;
// this automigrates the Account model
dataSource.automigrate('Account', function(err) {
if (err) throw err;
// this loads the Account model from ~/common/models/Account.json
var Account = app.models.Account;
var count = accounts.length;
accounts.forEach(function(account) {
// insert new records into the Account table
Account.create(account, function(err, record) {
if (err) return console.log(err);
console.log('Record created:', record);
count--;
if (count === 0) {
console.log('done');
dataSource.disconnect();
}
});
});
});
在项目根目录下执行下面命令行运行刚才创建的autograte.js
脚本在Mysql创建一个表
node server/bin/automigrate.js
再次执行下面命令就可以看到我们上面创建的表
slc run
在http://127.0.0.1:3000/explorer/我们可以直接对API进行测试,单击”POST/Accounts“链接插入新数据。输入一条JSON记录并按下”Try it Out“即可看到插入的结果!
详见官方文档,打不开请自行访问外国网站!