gpt4 book ai didi

angularjs - 如何使用 MEAN 和sails.js 开始一个新项目

转载 作者:IT老高 更新时间:2023-10-28 13:09:24 24 4
gpt4 key购买 nike

我过去使用 node.js、express 和 angular.js 创建了一个 Web 应用程序。我正在开始一个新项目,我也想使用 MongoDB。那将是 MEAN 堆栈。仅使用 MEAN,我可以使用以下命令开始一个项目:http://mean.io/ .

现在,我过去曾编写过 REST API,并且听说过sails.js,这听起来非常引人注目。它可以自动为您创建 REST API。

所以我的问题是,我将遵循哪些步骤来使用 MEAN 堆栈和sails.js 开始一个新项目

选项:

  1. 我要克隆 mean.io 堆栈,运行 npm install 然后再运行 npm installsails.js 吗?
  2. 或者,sails.js 似乎对如何处理目录结构有自己的想法。所以我会按照他们的指示安装sails.js http://sailsjs.org/#!getStarted然后 npm 安装 Angular 和 Mongo? (我认为我不需要 Mongoose,因为sails.js 有自己的 ORM,水线)。

我今天实际上打算尝试选项 2,但我很高兴知道哪些步骤对其他人有效。

非常感谢!

最佳答案

npm install -gsailssails new myproj 让您走在正确的道路上。由于你想使用 mongo,你需要安装 waterline adapter for mongo (在项目目录中)npm installsails-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 其中 NAME 是模型的名称。默认情况下,可以将任何内容添加到数据库中,因此您可能希望限制属性/字段,甚至可能验证它们。这很简单。 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;

This page列出您可以拥有的所有不同类型和验证。

设置完成后,运行 sails lift 启动服务器。默认端口为 1337,但您可以使用 PORT 环境变量或在您的 local configs 中更改它。

module.exports = {
port: 80
// ... more config things
}

另外,关于 MEAN 中的“A”,请查看 Angular Sails .它是一个小 angular.service ,可让您轻松利用sails 为您做的socket.io 事情。您可以通过套接字连接调用所有 API,使它们更轻、更快。

在这种情况下 $sails 替换 $http

app.controller("FooController", function ($scope, $sails) {
$scope.bars = [];

$sails.get("/bars", function (data) {
$scope.bars = data;
});
});

关于angularjs - 如何使用 MEAN 和sails.js 开始一个新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21485326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com