Подтвердить что ты не робот

Ускорьте автозагрузку в Meteor.js

После сохранения файла с новыми изменениями в Meteor.js сервер перезапустится, и браузер перезагрузит окно.

Вопрос: Иногда после сохранения файла требуется перезагрузка, чем обычно, и это кажется случайным. Есть ли способ активировать автоматическую перезагрузку быстрее?

Похоже, сервер перезагружается быстро, но браузер перезагружается гораздо медленнее.

После перезапуска сервера Meteor веб-страница перестает отвечать на запросы в течение 30 секунд, а на вкладке Network отображается websocket pending...

Я использую Meteor 0.7.0.1 с Meteorite 0.6.16 на Node.js v0.10.22 на Mac OSX, подключившись к удаленному серверу MongoDB.

enter image description here

4b9b3361

Ответ 1

Автозагрузка требует времени, если ваш проект большой. Метеор в основном должен перестроить javascript. Есть много вещей, которые могут влиять на время, которое требуется.

Некоторые основы этого:

  • Чем больше проект и больше файлов/пакетов js, тем дольше это займет
  • Если вы отключили веб-серверы, серверу потребуется больше времени для перезапуска.
  • Если вы используете --production в качестве флага, потребуется больше времени для перестройки, но быстрее загружаться в браузере.
  • Если вы используете внешние css/fonts через cdn и прочее, иногда может потребоваться немного больше времени для загрузки этих файлов, это зависит от вашего соединения. Попробуйте проверить вкладку "Сеть" в консоли разработчика Chrome, чтобы узнать, есть ли какой-либо конкретный файл, занимающий некоторое время, и временно размещайте его локально.
  • Если вы перезагружаете hotcode после ошибки, могут возникнуть небольшие задержки, так как метеор пытается восстановить из-за ошибки.

Есть еще несколько вещей. Если вы используете Meteor UI с флагом --release, некоторые сборки имеют утечку памяти и медленнее и медленнее перезагружают ваш горячий код.

Если вы разрабатываете окна, есть несколько проблем с перезагрузкой горячего кода. Meteor on windows является неофициальным, и вам иногда приходится ctrl + c и перезагружать его, чтобы ускорить загрузку.

Существует не так много, что вы можете сделать, чтобы ускорить его, помимо того, что вы увеличиваете скорость своего компьютера или перемещаете его в Meteor.startup в задание cron. Каждая перезагрузка горячего кода повторяет задачи в вашем Meteor.startup.

Тот, который больше всего беспокоит меня с помощью перезагрузки hot-кода, - это шрифты из шрифтов Google с помощью инструкций @import css. Иногда google не работает с шрифтами очень быстро, особенно когда я продолжаю их перезагружать. Я временно отключил их/размещал их локально. Я не размещаю локально на производстве, потому что разные браузеры иногда обслуживают нечеткие шрифты на окнах.

Ответ 2

Я возродил старый проект, который работал в 2014 году с новой установкой метеора, но обнаружил, что запуск и перезапуск были очень медленными (более 30 секунд). (Возможно, обновление node или метеора вызвало это.)

Я заметил, что проект .meteor/release содержит [email protected]

Я побежал:

meteor update

в корневой папке проекта.

Мой файл выпуска теперь содержит [email protected], и многие из моих пакетов были обновлены. Теперь перезапускаются значительно быстрее (около 10 секунд)!


Кстати, я указываю MONGO_URL на mongodb на моем локальном хосте, поэтому метеориту не нужно разворачивать новый mongodb, когда я запускаю приложение.

Ответ 3

Кажется, нужно решить с помощью 1.3, но пока он находится в бета-версии.

meteor update --release [email protected]

От 6-10 до 1-2 секунд.