1

Я хочу узнать Require.js, и я думал о его реализации в существующем проекте Django. Тем не менее, я уже использую менеджер активов django-mediagenerator для связывания файлов JavaScript и файлов CSS в моем проекте.Является ли Require.js ненужным при использовании django-mediagenerator

Поскольку я не совсем уверен, что именно требуется (я знаю, что он загружает скрипты async, но это все), мне интересно, было бы совершенно бесполезно реализовать его в проекте, который уже использует django-mediagenerator ,

Любые мысли?

ответ

1

Резюме: это не один или другие: RequireJS и Джанго-mediagenerator решать различные проблемы, которые пересекаются только в некоторых отношениях.

RequireJS предназначен, главным образом, для модулизации вашего кода JavaScript, так что при разработке проекта вы можете использовать подход «разделяй и властвуй», а не собирать все в один файл или тратить свое время на поиски непонятных ошибок, потому что так бывает, две несвязанные фрагменты кода, живущие в разных файлах, решили, что они записывают свое состояние в глобальной переменной с именем state. (Часы веселья!)

django-mediagenerator решает проблему сбора файлов вместе для эффективного обслуживания. Это другая проблема.

Теперь модульный проект полезен для проектирования, но он ущемляет производительность на производстве. Поэтому RequireJS включает оптимизатор, который собирает ваши модули, и в соответствии с вашими инструкциями создает один или несколько оптимизированных пакетов. Часть этой операции перекрывается с тем, что делает django-mediagenerator, но я не видел никаких указаний на веб-сайте django-mediagenerator, что он может понимать зависимости между модулями, предназначенными для работы с RequireJS. Оптимизатор RequireJS, с другой стороны, понимает эти зависимости, и нуждается в, чтобы понять, как они выполняют свою работу, поэтому вы не можете просто покончить с этим. Я имею в виду, что вы не вынудили использовать его, но если вы этого не сделаете, вам нужно придумать что-то, что будет тиражировать некоторые из интеллекта в оптимизаторе RequireJS.

Существуют области (такие как оптимизация CSS), где оба инструмента могут выполнять эту работу. Если вы используете оба в одном проекте, вам нужно решить, как разделить обязанности.

0

Из документации RequireJS:

RequireJS другой подход к загрузке сценария, чем традиционные <script> тегов. Хотя он также может быстро работать и оптимизироваться, основная цель - поощрять модульный код.

Тем не менее, разница не в performance или number of requests, но в пути JavaScript организован. Если вы собираетесь нырять в RequireJS, я бы пошел с ним.

 Смежные вопросы

  • Нет связанных вопросов^_^