На прошлой неделе я вступил в контакт с рамки Sails, создав систему CMS и узнал некоторые концепции ORM. На этой неделе мы начали углубляться в фональное взаимодействие данных и обнаружили, что структура данных двадцати структуры была разработана на парусах (таких как узел и категория). Я должен сказать, что мой старший потрясающий. Но сложность также увеличилась. Моя задача в проекте DTREE - использовать паруса для взаимодействия с бизнес -процессами и базами данных. В следующий раз на этой неделе будет использовать паруса.
Введение в паруса
Парусы похожи на Ruby on Rails, и это также основа для того, чтобы сделать веб -разработку простым. Насколько я знаю в течение этого периода, он полностью наследует некоторые API Express & Socket.io и использует Waterline (ORM) для объединенного взаимодействия с базой данных, чтобы операции CRUD могли быть завершены в различных средах баз данных без непосредственного изменения кода; Синхронизирует данные передних и задних концов с помощью структуры магистрали и использует промежуточное программное обеспечение для безопасной проверки взаимодействия своих собственных чертежей. Он может взаимодействовать через API RESTFULLL без единой строки кода в передней и задней части.
Socket.io & Express
Фронт-энд изучил эти две вещи во времени, одна-это сообщение WebSock, а другая-обработать HTTP-запросы. Парусы не перепроектируются, но используют эти два инструмента для непосредственного решения этих функций, что значительно снижает стоимость обучения. Socket.io запускает сообщения, слушает сообщения и выполняет операции соответственно как на сервере, так и на клиенте.
Кода -копия выглядит следующим образом:
`
// Серверная сторона
io.sockets.on ("connection", function (sock) {
sock.emit ("NormalMessage", {a: "c"});
});
//Обслуживание клиентов
sock.on ("NormalMessage", function (json) {...});
`
Функция Express заключается в операциях маршрутизации, такой как app.get ('/login', function (req, res) {});.
Парусные чертежи и магистраль
В веб -разработке CRUD - это аналогичный тип операции, такой как Get/post в HTTP и Select/Select/INSERT в базе данных. API Plueprint Sails и основополагающая структура JS оба используют единый класс функций (например, Findone), так что внутренняя логика уже установлена, когда программа устанавливает модель и соответствующий контроллер. Например, модель обычно используемых пользователей создала контроллер в парусах для передачи и хранения данных пользователей. Все, на что нам нужно обратить внимание, это спецификации и бизнес -процессы имен файлов. Это также нормально, если вы хотите переопределить (перегрузить) исходный метод. После того, как мы установим действие и контроллер в маршрутах в папке конфигурации, мы можем добавить функции, необходимые нам в соответствующий контроллер.
Ватерлина
API пакета, зависящего от паруса, используется для взаимодействия с базами данных, такими как create (), findone (), update () и т. Д. Как упоминалось ранее, нам не нужно беспокоиться о различных инструментах базы данных, чтобы вызвать эти методы непосредственно. Например, при введении данных
Кода -копия выглядит следующим образом:
`
Users.create ({username: имя пользователя, пароль: пароль}). Exec (function (error, user) {
if (ошибка) {
res.send (500, {error: "db error"});
} еще {
req.session.user = user;
res.send (пользователь);
}
`
Система по умолчанию - сохранить данные в локальной файловой системе. Если нам нужно выбрать MySQL или MongoDB. Просто измените его в файле конфигурации и выберите адаптер базы данных для взаимодействия с данными.
Политики
Применяется к промежуточному программному обеспечению на контроллере, запустите до выдачи HTTP -запроса. Например, может быть достигнуто контроль идентификации, вы можете выполнить следующие действия только в том случае, если вы войдете в систему.
Кода -копия выглядит следующим образом:
`
if (req.session.user) {
var action = req.options.action;
if (action == "create") {
req.body.userid = req.session.user.id;
req.body.username = req.session.user.username;
}
следующий();
}еще{
res.send («Вы должны войти в систему», 403);
}
`
следующий
Парусы успешно начались, но им все еще нужно больше работать над этим. Только закладывая прочную основу, мы можем достичь конкретных потребностей. Таким образом, нам нужно продолжить обучение, найти больше процедур для изучения парусов в глубине, а также знать ограничения этой структуры.