Рекомендуется только один файл `.js` на страницу? - PullRequest
2 голосов
/ 21 ноября 2011

Я прочитал несколько статей о том, что не рекомендуется размещать код JavaScript на странице.

Я хотел бы услышать от вас.Как вы делаете с этим кодом, который специфичен для этой страницы?

Пример

В моем Project.cshtml У меня есть:

<script type="text/javascript">
    $(document).ready(function () {
        $('.project-status').parent('a').click(function (e) {
            e.preventDefault();
            DoSomething();
        });
    });
</script>

В моем myfunctions.js файле:

function DoSomething() {
    alert('test')
}

На каждой странице моего проекта эта ситуация повторяется.

Вопрос

Вы делаетеодин файл .js и поместить туда весь javascript для всех страниц?

Или сделать один файл на страницу и сделать ссылку на этот файл на странице?

Или поместить код js, которыйотносится к самой странице на самой странице?

Проблема, которую мы хотим решить

У меня возник этот вопрос, поскольку у меня возникла следующая проблема:

В моем приложении Iиметь:

Project.cshtml

При нажатии на ссылку загрузить страницу ProjectPhotos.cshtml через ajax в div#photos

Проблема в том, что на моей странице ProjectPhotos.cshtml есть скрипт:

<script type="text/javascript">
    $(document).ready(function () {
        $('.project-status').parent('a').click(function (e) {
            e.preventDefault();
            DoSomething();
        });
    });
</script>

Поскольку эта страница загружается через ajax, этот скрипт будетотсутствует в разметке HTML.

Если этот скрипт был в отдельном файле JS, нажмите на ссылку, я мог бы загрузить файл динамически.

Спасибо всем за помощь!

Ответы [ 2 ]

2 голосов
/ 21 ноября 2011

Это зависит. Если сценарии довольно малы, лучше объединить файлы в один, поскольку вы уменьшаете количество подключений (браузер обычно использует только несколько одновременных подключений).

Но если сценарии большие и сценарии не нужны на всех страницах, возможно, лучше разбить их на части. Но все же желательно только один файл на страницу.

Попробуйте оба варианта и отключите / очистите кеш в вашем браузере и протестируйте ...

0 голосов
/ 21 ноября 2011

Вероятно, лучший способ - поместить все в один файл по двум причинам. С одним обслуживанием легче работать, есть только один сценарий вместо поиска по семи. Во-вторых, когда скрипт загружен, он кэшируется. Это значит, что оно готово и для всех остальных ваших страниц. Предполагая, что у вас нет сценариев, которые бы велики для каждой отдельной страницы, накладные расходы не очень велики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...