2010-10-13 7 views
5

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

Если это вопрос чистого кода и разделение проблем, вы можете включить его с сервера в html. Например, я использую SMARTY, и я могу просто включить файл {include file='javascript.js} внутри <script></script> tages. Если это для производительности, я не вижу ничего, кроме дополнительного HTTP-запроса, который заставляет внешний файл работать медленнее. Я уверен, что я должен что-то упустить, потому что все большие сайты все еще это делают.

Это из-за кэширования файла? мои javascripts динамичны и не должны кэшироваться в любом случае.

может кто-то помочь мне, чтобы принять правильное решение выбрать, что делать с моими файлами javascript.

ps: может ли пользователь 1.5K создать тег для внешнего javascript?

ответ

5

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

Во-вторых, он обеспечивает модульность.

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

+0

потому что я использую методы AJAX, и код должен отличаться для каждой ситуации. И я не хочу, чтобы код JavaScript был встроен для всего из-за модульности. – Neo

+0

Использование AJAX не является поводом для динамического JavaScript. Если код должен отличаться для разных ситуаций, вы должны изменить свои функции, чтобы этого избежать. Сценарий должен быть модульным. Подумайте ООП. –

+0

Именно поэтому мой javascript - это динамический php, который создает его с правильным синтаксисом на основе страницы. причина осложняется, поскольку это часть проекта миграции из старой структуры в новую. – Neo

0

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

+0

Вот почему есть серверная сторона. – Neo

+0

@neo это не похоже на то, что SSI для ... – hvgotcodes

+0

нет Я не говорю о SSI, но буквально включаю на сервер side.with php, в моем случае с SMARTY – Neo

5

В вашем случае, когда нет кеширования, потому что весь файл javascript генерируется динамически, встроенный, вероятно, превосходит. Это экономит накладные расходы HTTP.

Источник: http://developer.yahoo.com/performance/rules.html#external

0

Кроме того, что сказал @Gabriel, это также поможет вам использовать ту же функцию в разных страницах, withouth их необходимости (.html Документов), чтобы быть больше.