- PVSM.RU - https://www.pvsm.ru -

Полезные советы в работе с Meteor

Полезные советы в работе с Meteor

Совсем недавно мне на глаза попался очень амбициозный проект Meteor [1]. Меня подкупила его простота и скорость разработки приложений на нем. В этой статье будут показаны некоторые «хитрости» и полезные советы такие как: установка кастомных пакетов, добавление в проект плагинов jquery, развертывание проекта на боевом сервере и прочее.

Этот пост предназначен для тех кто уже имеет минимальный опыт в работе с Meteor.

1. Как устанавливать кастомные пакеты?

Установите Meteorite [2]. Meteorite нужен для удобной установки пакетов. Список пакетов пока не большой и доступен по ссылке [3].
Вот последовательность шагов:
1. чтобы установить Meteorite, установите сперва node.js скачав с nodejs.org [4]
2. выполняем

sudo npm install -g meteorite

3. после этого пакеты можно будет устанавливать добавлять при помощи комманд mrt install packagename | mrt add packagename, например

mrt install jquery-ui | mrt add jquery-ui

Синтаксис работы с Meteorite идентичен Meteor. Чтобы использовать и отлаживать свои пакеты, просто кладите их в директорию packages.

2. Как пользоваться плагинами jQuery?

Очень часто возникает ситуация, когда надо использовать какой-то плагин для jQuery, но его еще нет в пакетах.

Делается это просто:
1. скачиваем нужный плагин, распаковываем удяляем *.min.js (или же не сжатую версию), чтобы код плагина два раза не подключался
2. создаем в корне приложения папку client/lib и кладем туда плагин вместе с css

3. Как реализовать API на основе Meteor?

Если вам вдруг захотелось организовать API (например взаимодействия с мобильными устройствами), то придется использовать следующий хак:
1. создайте файл /server/api.js
2. добавьте туда следующий код

//api goes here
var connect = __meteor_bootstrap__.require("connect");
__meteor_bootstrap__.app
.use(connect.query())
.use(connect.bodyParser()) //I add this for file-uploading
.use(function (req, res, next) {
     Fiber(function() {
        if(req.method == "GET"){
           if(req.url.indexOf('/test') !== -1){
              res.writeHead(200, {'Content-Type': 'application/json'}); 
              res.write(JSON.stringify({"test" : "test"}));
             res.end();
             return;
           }

        }       
      next();
  }).run();
});

3. теперь при обращении http://localhost:3000/test [5] будет отдаваться json

4. Как правильно деплоиться?

Деплоиться очень просто. Для эффективной работы продакшена надо установить mongodb, nodejs и я рекомендую установить supervisior [6] для стабильной работы приложения. После этого выполняем следующие шаги:

1. редактируем файл переменные окружения sudo vim /etc/environment (в случае Ubuntu), добавляем PORT=3000 MONGO_URL=mongodb://localhost:27017/test, эти переменные хранят в себе порт на котором будет висеть проект и настройки подключения к mongodb
2. на клиенте делаем

mrt bundle project.tgz

и заливаем его на продакшен
3. распаковываем проект на продакшене

tar zxvf project.tgz

4. выполняем

supervisor node <путь до папки>/bundle/main.js

и открываем приложение на 3000 порту, все должно заработать

5. Возник вопрос, но документации пока маловато?

Активно общайтесь на Stackoverflow по тегу meteor [7] — вам как правило будут быстро отвечать и это может вам здорово сэкономить время. В моем случае вопросы решаются максимум за 12 часов.

Автор: r00t_aka_spin

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/27531

Ссылки в тексте:

[1] Meteor: http://meteor.com/

[2] Meteorite: https://github.com/oortcloud/meteorite

[3] ссылке: http://atmosphere.meteor.com/

[4] nodejs.org: http://nodejs.org/

[5] http://localhost:3000/test: http://localhost:3000/test

[6] supervisior: https://github.com/isaacs/node-supervisor

[7] meteor: http://stackoverflow.com/questions/tagged/meteor

[8] Источник: http://habrahabr.ru/post/170009/