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