"Метеор" против "метеорного пучка" для производства

Для производства, почему я должен "связывать" приложение метеора, а не просто копировать источники на сервере используют команду "meteor"?

В принципе, в чем разница между:

  • "meteor bundle app.tar.gz", а затем установите правильную версию волокон и узлов и извлечение архива и начало с "node main.js" приложения,

  • и копирование источников проекта на сервере и просто запись "метеора" для запуска приложение?

Ответ 1

Это не будет исчерпывающий список, но вот некоторые вещи, которые выполняет команда meteor:

  • создает локальную базу данных
  • наблюдает за каждым зависимым файлом в вашем приложении или в ваших пакетах
  • отправляет каждый файл отдельно и unminified клиенту (это супер неэффективно, если вы не разрабатываете локально)

Напротив, добавление приложения:

  • не создает локальную базу данных
  • не тратит процессор на просмотр ваших файлов для изменений.
  • создает два мини файла (js и css), который идеально подходит для размещения CDN или хостинга с помощью обратного прокси. Они также эффективны для загрузки и высокой степени кэширования клиентов.

В целом, развертывание не должно быть огромной болью, если вы используете хороший набор скриптов.

Ответ 2

При использовании пакета:

  • Он не будет порождать метеор-монго (Мондомб внутри метеор)
  • Нет горячих перезагрузок
  • Метеор не будет смотреть ваши файлы.
  • Вы можете оставить/выйти из сервера, не убивая ваше приложение.
  • Вы можете легко управлять node, используя pm2 или другие аналогичные пакеты npm.
  • Вы можете решить, где разместить свой mongoDB и решить, какой порт использовать.
  • Вы можете подключиться к своему mongodb удаленно, не выполняя свое приложение метеоритов.

При использовании копии или выполнения команды meteor в каталоге проекта:

  • Вы не можете оставить/выйти из сервера, сохраняя проект без использования каких-либо экранных мультиплексоров (например, tmux).
  • Вы можете использовать только назначенный метеором mongodb, который порождается в localhost: 3001 - если метеорит использует порт 3000.
  • Вы позволяете метеору наблюдать за изменениями файлов, в которых используется процессор.
  • Когда ваше приложение умирает, ваш db умирает.:)