Краткое содержание Эта статья предназначена для тех, кто начинает свой путь разработки на NodeJS, и знакомит новичков с разработкой на этой платформе с использованием фреймворка.
ПарусаJS .
В статье будет рассмотрен процесс разработки простого блога с сопутствующими пояснительными материалами, цель которых — описать начальные навыки работы с этим фреймворком — который, безусловно, является отличной основой для любых NodeJS-проектов.
Для лучшего усвоения материала желательно иметь базовые представления о языке программирования Javascript и его серверной реализации.
NodeJS , а также хотя бы первичное представление о схеме MVC что является основой Sails. Для лучшего понимания структуры вы можете прочитать документация на официальном сайте Sails, а также увидеть касты достаточно подробно описывающую работу с Sails. При написании этой статьи я старался изложить материал максимально просто и понятно; опытным пользователям эта статья не расскажет ничего нового, а некоторые приемы могут показаться неэффективными.
Подготовка рабочей среды
Для начала давайте установим сам фреймворк SailsJS. Изначально предполагается, что у вас уже установлен пакет NodeJS и есть доступ к Интернету.В моем случае моя ОС — Fedora 20, на вашей стороне это может быть Mac OS X, Ubuntu и другие ОС, в примере мы будем использовать бета-версию, для глобальной установки SailsJS введите команду
После этого нам необходимо создать новый проект – в Sails это делается просто и понятно.sudo npm install -g sails@beta
sails new sails-blog --linker
cd sails-blog/
Поясню - параметр new
заголовок, что мы хотим создать новый проект, затем вводим имя проекта, параметр --linker
делает так, что наш проект будет автоматически включать файлы для фронтенда: js, css, изображений и так далее, а также автоматически компилировать файлы CoffeeScript и LESS, что тоже очень удобно — но об этом позже.
После этого переходим в каталог со сгенерированным проектом.
Подключаем Bootstrap — знакомимся с организацией фронтенда
В Sails очень удобно организована сторона, отвечающая за хостинг фронтенда; сервер транслирует все файлы находящиеся в папке /ресурсы который находится в корне проекта.Сами файлы из папки ресурсы есть примерно такой доступ, объясню простым языком: предположим, вы хотите поместить некое изображение image.png, вы помещаете его в каталог активы/изображения/ — в этом случае при работающем сервере этот файл будет доступен по адресу Хост/images/image.png .
Это основная информация, теперь давайте установим самозагрузка скачать архив с источники на LESS (мне нравится этот стиль языка).
Распаковываем папку less из архива в активы/стили/ - расположение папки должно выглядеть так активы/стили/меньше , затем переименовываем папку less в bootstrap (для удобства), затем после распаковки основной части bootstrap надо подключить глифы, для этого скопируйте папку шрифтов из архива в корень ресурсов (прим.
/assets/fonts ).
Теперь откройте файл /assets/styles/importer.less в вашем любимом текстовом редакторе Sublime Text: этот файл по умолчанию подключен к основному шаблону и постоянно контролируется Grunt — автоматически компилируется в импортер.
css
Соответственно, тогда мы будем экспортировать бутстрап, добавив в этот файл строку @import 'bootstrap/bootstrap';
Чтобы соединить глифы в одном импортер.
без нам нужно объявить переменную, которая будет указывать путь к папке с глифами, так как наши глифы находятся в папке шрифтов - добавляем в файл следующую строку @icon-font-path: '/fonts/';
Чтобы наконец установить загрузчик, нам просто нужно загрузить файл jquery.js И boostrap.js в папку активы/js/зависимости/ .
На этом мы закончим первоначальное знакомство с организацией фронтенда и статики в Sails и перейдем непосредственно к разработке самого Блога.
Создание API Пост - первое знакомство с моделями, контроллерами
Для начала давайте создадим комплекс API — состоящий из модели и контроллера, который по понятным причинам мы назовем post. Для создания комплекса API введем следующую команду: sails generate api post
Сгенерированные файлы будут располагаться в одноименных папках каталога.
API/ , Паруса по умолчанию создают CRUD API готов к использованию, более подробную информацию можно найти в описании Sails. видео .
Теперь давайте откроем созданную ранее модель Post и начнем писать код. В модели нам необходимо указать имя атрибута, его тип и валидатор.
Теперь я приведу содержимое нашей модели.
API/модели/Post.js
module.exports = {
attributes: {
title: {
type: 'string',
maxLength: 120,
required: true
},
description: {
type: 'string',
required: true
},
content: {
type: 'string',
required: true
}
}
};
Компонент нашей модели построен очень похоже на JSON, что делает его очень понятным и удобным, как вы могли понять внутри структуры.
атрибуты перечисляем атрибуты модели, в нашем случае нам нужны 3 атрибута — заголовок, краткое описание и контент. У всех 3 типа - строка, в заголовке 2 валидатора: maxLength: максимальная длина строки, обязательный: это обязательный атрибут при создании новой записи (в нашем случае обязательный), затем задаем параметры для остальных 2 атрибутов, там десятки типов парусов, и валидаторы на все случаи жизни (даже HEX валидатор цвета), полный список вы можете посмотреть Здесь .
Итак, мы составили нашу первую модель, которая будет отвечать за наши записи в базе данных — и манипуляции с ними.
Теперь можно перейти к основным действиям с контроллером — API/контроллеры/PostController.js .
Манипуляции с контроллерами также происходят в удобном JSON-представлении.
Для начала перечислим, что мы хотим, чтобы блог мог делать — и соответственно разделим задачи на элементы контроллера.
Наш блог должен иметь возможность отображать список постов с кратким описанием в порядке убывания (новые посты в начале, старые в конце), уметь разбивать список постов на страницы (пагинация) и страницу, на которой полное содержание мы можем увидеть в отдельном посте с комментариями (disqus).
Таким образом, для себя я разделил эти возможности на 3 атрибута контроллера, и 3 основные функции по манипулированию постами, индекс: отображение последних 10 постов.
просмотр: отображает полное содержимое определенного сообщения.
нумерация страниц — разделение списка и просмотр его в определенном фрагменте списка.
Начнем писать код с функционала записи — добавление, обновление, удаление.
Внутри модуля.
exports мы напишем код.
Утилиты
Создание create: function (req, res) {
Теги: #учебник #node.js #sails.js #разработка веб-сайтов #JavaScript #node.js
-
Обзор Одной Российской Осрв
19 Oct, 24 -
Безопасный Удаленный Терминал
19 Oct, 24 -
Пожертвовать В России
19 Oct, 24