Короткий ответ: вы не можете. Насколько мне известно, Meteor всегда отправляет пустой тег <body>
и заполняет его через шаблоны.
Если у вас так много кода, что конкатенированный JavaScript довольно тяжелый, вы можете разделить его части. См. this question для некоторых методов о том, как это сделать. Лично я пытаюсь загрузить из CDN любые библиотеки, которые я использую «из коробки», например Bootstrap (к сожалению, это не вариант jQuery). Для загрузки из CDN просто включите блок <head>
в один из ваших файлов HTML и ссылку на файлы библиотеки, размещенные на CDN, как обычно, и оставьте их вне вашего проекта. Другой вариант - использовать jQuery's $.getScript()
для загрузки определенных скриптов по требованию только на нужные им страницы.
Но это просто уроки загрузки вашего связанного файла JavaScript, но по-прежнему не отвечает на ваш вопрос о немедленном отправке HTML-сообщения клиенту. Чтобы выполнить , единственным способом, который я знаю, является наличие другого веб-сервера перед Meteor. Например, сервер Apache или Nginx прослушивает порт 80, который отправляет простой HTML-файл с исходным контентом, а также загружает связанные с Meteor конкатенированные файлы .js и .css. Метеор заменил бы содержимое <body>
на загрузку, или вам нужно будет написать JavaScript для этого, чтобы он «передался» Метеору, чтобы Метеор мог начать показывать свои шаблоны там. Я сомневаюсь, что передача обслуживания будет очень гладкой, к сожалению. В качестве альтернативы, если ваша начальная страница больше представляет собой страницу всплеска, например простую форму входа, она может существовать сама по себе, обслуживаемая Apache/Nginx, а затем отправляет пользователя в мир, обслуживаемый метеоритами. Пока пользователь заполняет форму, конкатенированный файл .css (если не файлы .css и .js, или .css-файл и любые CDN-обслуживаемые или неконкатенированные .js-файлы) можно загружать в фоновом режиме и получение кеширования. Честно говоря, хотя я не уверен, что это стоит всех этих усилий, это добавляет много сложности для того, что, вероятно, только очень небольшое улучшение скорости (и даже тогда, только при начальной загрузке домашней страницы).
Хорошо, это то, чего я боялся. На самом деле, мое решение состоит в том, чтобы вручную редактировать app.html после пакета. Оно работает ; но это дерьмово, потому что я не вижу его, пока я работаю. – fabien