Метеор CSS и Javascript файлы загрузки лучшие практики

TL,DR: Как загружать файлы CSS и JavaScript независимо от предположений Метеора об алфавитном порядке (что далеко от того, как это работает на практике).

Stackru говорит мне, что этот вопрос может быть субъективным, но я надеюсь, что нет.

Метеор загружает файлы в алфавитном порядке (и другие правила.)
Таким образом, чтобы заставить его загружать файлы CSS и JS в нужном мне порядке, мне пришлось начинать поля с чисел, обозначающих порядок загрузки. Если у меня есть jquery.js а также bootstrap.jsМетеор загрузит bootstrap.js до jquery.js, Но начальная загрузка зависит от jquery, поэтому сначала нужно загрузить jquery.

Чтобы решить эту проблему, есть следующие варианты:
1. Поместите файлы в public каталог и вручную загрузить их. Но это не сработало, так как Метеор, похоже, отправляет файлы с text/html MIME тип.
2. Создайте пакет Meteor и укажите порядок загрузки оттуда. Я нахожу это как удар мухой молотком только для загрузки CSS и Javascript.
3. Поставьте номер перед каждым файлом. В предыдущем примере, чтобы загрузить jquery до начальной загрузки, переименуйте поля в 1.jquery.js а также 2.bootstrap.js Это работает и утомительно, но, по крайней мере, я загружаю файлы так, как хочу.

Я новичок в Метеоре, поэтому мне интересно, есть ли рекомендуемые лучшие практики по этому поводу. Я думал об использовании AMD для JavaScript, но это ограничено JavaScript.

1 ответ

Решение

Это интересный вопрос, и это, вероятно, одна из ловушек создания приложения Meteor.

Вы упомянули все полезные решения, такие как создание явного пакета или переименование файлов.

Лучший способ, который я думаю, это использовать пакеты с атмосферой. Например, если вы добавляете загрузчик, jquery является его зависимостью, поэтому он всегда будет загружаться первым. Большинство библиотек js, которые включают порядок загрузки, обычно находятся в атмосфере.

Другой лучший способ, если нет пакета атмосферы, хотя я не уверен, что я бы сказал, что это утомительно, - это поставить число перед файлом js, чтобы указать порядок загрузки.

Одна вещь, когда вы используете /public папка, в которой отображаются файлы /, так что вы можете вручную загрузить файл js в нужном вам порядке (в корневом html-файле, используя /public. Meteor возвращает тип MIME text / html, так как его версия ошибки 404 файла не найдена. Этот метод немного Хотя это проблематично, потому что файлы разделены в производстве и могут вызвать проблемы, если один или другой не загружается.

Другие вопросы по тегам