你在正确的道路上npm install -g sails
和sails new myproj
。由于您想使用 mongo,您需要安装mongo 的水线适配器(在项目目录中)npm install sails-mongo --save
并配置sails 以使用 mongo。
将 mongo 配置添加到 config/adapters.js 文件中:
module.exports.adapters = {
'default': 'mongo',
mongo: {
module : 'sails-mongo',
host : 'localhost',
port : 27017,
user : 'username',
password : 'password',
database : 'your mongo db name here',
// OR
module : 'sails-mongo',
url : 'mongodb://USER:PASSWORD@HOST:PORT/DB',
// Replica Set (optional)
replSet: {
servers: [
{
host: 'secondary1.localhost',
port: 27017 // Will override port from default config (optional)
},
{
host: 'secondary2.localhost',
port: 27017
}
],
options: {} // See http://mongodb.github.io/node-mongodb-native/api-generated/replset.html (optional)
}
}
};
此外,要创建您的 API,(在项目目录中)使用sails generate NAME
whereNAME
是模型的名称。默认情况下,可以将任何内容添加到数据库中,因此您可能希望限制属性/字段,甚至可能验证它们。这很简单。generate 命令为您创建了一些文件,其中之一是models/NAME.js
. 在此文件中,您可以简单地导出一个对象,该对象具有与您想要的字段相对应的属性以及您希望在保存之前发生的任何限制/验证。
// Person.js
var Person = {
attributes: {
firstName: 'STRING',
lastName: 'STRING',
age: {
type: 'INTEGER',
max: 150,
required: true
}
birthDate: 'DATE',
phoneNumber: {
type: 'STRING',
defaultsTo: '111-222-3333'
}
emailAddress: {
type: 'email', // Email type will get validated by the ORM
required: true
}
}
};
module.exports = Person;
此页面列出了您可以拥有的所有不同类型和验证。
全部设置好后,运行sails lift
以启动服务器。默认端口是 1337,但您可以使用 PORT env var 或在本地配置中更改它
module.exports = {
port: 80
// ... more config things
}
此外,至于 MEAN 中的“A”,请查看Angular Sails。它是一个小角度服务,可让您轻松利用sails 为您做的socket.io 事情。您可以通过套接字连接调用所有 API,以使它们更轻、更快。
在这种情况下$sails
替换$http
app.controller("FooController", function ($scope, $sails) {
$scope.bars = [];
$sails.get("/bars", function (data) {
$scope.bars = data;
});
});