Написание Простого Блога В Sailsjs: Визуальная Практика Для Начинающих (Часть 1)



Краткое содержание Эта статья предназначена для тех, кто начинает свой путь разработки на NodeJS, и знакомит новичков с разработкой на этой платформе с использованием фреймворка.

ПарусаJS .

В статье будет рассмотрен процесс разработки простого блога с сопутствующими пояснительными материалами, цель которых — описать начальные навыки работы с этим фреймворком — который, безусловно, является отличной основой для любых NodeJS-проектов.

Для лучшего усвоения материала желательно иметь базовые представления о языке программирования Javascript и его серверной реализации.

NodeJS , а также хотя бы первичное представление о схеме MVC что является основой Sails. Для лучшего понимания структуры вы можете прочитать документация на официальном сайте Sails, а также увидеть касты достаточно подробно описывающую работу с Sails. При написании этой статьи я старался изложить материал максимально просто и понятно; опытным пользователям эта статья не расскажет ничего нового, а некоторые приемы могут показаться неэффективными.



Подготовка рабочей среды

Для начала давайте установим сам фреймворк SailsJS. Изначально предполагается, что у вас уже установлен пакет NodeJS и есть доступ к Интернету.

В моем случае моя ОС — Fedora 20, на вашей стороне это может быть Mac OS X, Ubuntu и другие ОС, в примере мы будем использовать бета-версию, для глобальной установки SailsJS введите команду

  
  
  
  
  
  
  
  
   

sudo npm install -g sails@beta

После этого нам необходимо создать новый проект – в Sails это делается просто и понятно.



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
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.