Организация библиотечных зависимостей в лучших практиках JavaScript - PullRequest
1 голос
/ 01 декабря 2011

Что думают люди о том, как лучше организовать зависимости в javascript?Я знаю основы, но у меня есть более конкретные вопросы.Из прочтения Дугласа Крокфорда и других постов здесь я знаю, что теги скриптов нужно размещать как можно позже в теле, использовать минимизацию, объединяя весь код на стороне клиента в один файл .js, где это применимо, и т. Д.Каков наилучший способ использовать библиотеки?Например, вы делаете следующее:

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="somelib.min.js"></script>
<script type="text/javascript" src="myappcode.min.js"></script>

Может ли это рассматриваться как слишком много тегов сценария?Скажем, что myappcode.min.js зависит, но также изменяет некоторые части somelib.min.js - нужно ли просто объединить их в один файл?

Также возможно или даже хорошая идея сослаться на один из них?Файл .js, такой как библиотека внутри другого файла .js, в отличие от простого размещения одного тега сценария перед другим, чтобы ссылаться на него в последнем?Исходя из фона C #, я знаю, что JavaScript анализируется последовательно, в отличие от запуска в методе main () и продолжения - поэтому я предполагаю, что подход сценария довольно стандартный, но я хотел убедиться в этом.

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Это зависит от человека, смотрящего на это. Я не думаю, что 3 тега скрипта - это плохо, хотя известно, что уменьшение количества HTTP-запросов улучшает скорость загрузки веб-сайтов (поскольку снижает накладные расходы на каждый отдельный запрос).

Я не стал бы объединять файлы только ради объединения их в моем проекте разработки. Однако при загрузке на рабочий сервер я бы объединял файлы вместе, чтобы уменьшить количество необходимых тегов сценариев, так как вам не нужно заботиться о читабельности / etc в рабочей среде.

1 голос
/ 01 декабря 2011

Вы можете объединить эти теги JavaScript в один тег, сохраняя возможность хранить все файлы библиотеки JS отдельно, если вы пишете обработчик JavaScript.Проверьте код для обработчика JS в UC Mobile Web Framework для примера того, как вы можете сделать это.

...