Pull to refresh

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

Reading time 2 min
Views 14K


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

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

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

Установите Meteorite. Meteorite нужен для удобной установки пакетов. Список пакетов пока не большой и доступен по ссылке.
Вот последовательность шагов:
1. чтобы установить Meteorite, установите сперва node.js скачав с nodejs.org
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 будет отдаваться json

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

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

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 — вам как правило будут быстро отвечать и это может вам здорово сэкономить время. В моем случае вопросы решаются максимум за 12 часов.
Tags:
Hubs:
+17
Comments 13
Comments Comments 13

Articles