2013-07-15 2 views
1

Этот заголовок дает мне предупреждение о том, что вопрос субъективен, но я надеюсь, что это не так.Лучший способ организовать javascript функции и файлы?

Вот моя ситуация: у меня есть несколько функций (некоторые из них используются на многих страницах, некоторые только на одной странице), и я поместил их все в один .js-файл, чтобы сэкономить время загрузки. Однако некоторые страницы запускают функции onload. Чтобы это сработало, мне нужно, чтобы файл функций был объявлен до вызова. Однако некоторые функции требуют, чтобы страница была сгенерирована до того, как она сможет захватить нужную ему информацию, поэтому объявление файла должно быть в конце страницы. Итак, прямо сейчас, я сделал две объявления файлов на одной странице для одного и того же файла. Глядя в консоль, это, очевидно, вызывает проблемы, поскольку первый файл не может получить нужную ему информацию и выдает ошибку.

Итак, мой вопрос: было бы лучше разбить функции на два файла (одна предварительная загрузка одного сообщения?) Или если проблемы (которые являются уникальными функциями для страницы в любом случае) будут жестко закодированы в верхней части ?

ответ

1

Лучшим решением было бы разбить его на два файла. Таким образом, вы можете повторно использовать код на нескольких страницах, так как сценарии предварительной загрузки работают так, как они должны, и сценарии после загрузки получают необходимую им информацию. Это сделает вас намного проще.

+0

Вот как я склонялся, но есть ли недостатки, чтобы включить функции, которые не будут использоваться на этой странице? Думаю, нет. Я понимаю, что скрипты, жестко закодированные на странице, не кэшируются. – sharf

+0

Ну, во-первых, да, есть небольшой недостаток в том, что браузеру потребуется больше времени для загрузки js-файла (если он не кэширован), так как у вас есть неиспользуемые функции. Это увеличивает размер файла и, следовательно, снижает производительность. Но я предполагаю, что этот файл не сильно изменится, поэтому его кэширование браузером действительно полезно. : D –

+0

Хорошо, я так понял. Размер этого файла будет незначительным и в любом случае используется для задней части. Благодарю. – sharf

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

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