Метеор 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 файла не найдена. Этот метод немного Хотя это проблематично, потому что файлы разделены в производстве и могут вызвать проблемы, если один или другой не загружается.