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

в 17:51, , рубрики: javascript, Meteor, node.js, метки:

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

Совсем недавно мне на глаза попался очень амбициозный проект 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 часов.

Автор: r00t_aka_spin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js