3 votes

Est-ce une bonne pratique d'avoir des inclusions javascript "spécifiques à la page" ? ( par exemple "onlyUsedOnOnePage.js" )

Je suppose qu'il s'agit d'une question de débutant,

Je sais que vous avez généralement un fichier 'myCustomScript.js' sur un site. Mais si vous avez beaucoup de Javascript qui ne s'applique qu'à une page ou à une autre, cela a-t-il un sens d'avoir ?

sitewide.js
pageX.js
pageY.js

Je n'ai jamais vu cela auparavant, et je me demande pourquoi (peut-être parce que la quantité de javascript "spécifique à la page" serait négligeable dans la plupart des cas ?) Mais j'ai 2 gros morceaux qui ne sont utilisés que sur leurs pages respectives et il semble logique, dans l'intérêt de la réduction de la pageload, de les séparer. Mauvaise idée ?

//// EDIT /////

Je pense que je viens de voir une autre réponse qui me donne la réponse. "En petites quantités, cela n'a pas d'importance.

Combien de code .js vaut une requête supplémentaire ? Si j'ai "x" lignes de code dans "thisPageOnly.js" combien de lignes cela devrait-il être pour justifier une demande supplémentaire ?

2voto

rapadura Points 1920

Oui, c'est logique. À terme, toute grande application web comportera du JavaScript spécifique à la page.

Pour faciliter la maintenance des fichiers et des pages java script, vous pouvez espacer les noms de vos fonctions/classes qui traitent du siteX en les faisant précéder du préfixe siteX. N'oubliez pas de placer les includes pour les js spécifiques au site au bas de la sortie html.

La raison pour laquelle vous ne l'avez peut-être pas vu est que lorsque vous espacez les noms de votre js, vous pouvez tout ajouter dans un seul fichier js et l'obscurcir ou le minimiser. Si vous avez 10-20 fichiers js spécifiques à une page, vous ferez 10-20 requêtes, ce qui n'est pas très bon, donc vous avez un contenu js spécifique à une page mais vous ne l'incluez qu'une seule fois. La façon de procéder est d'espacer correctement les noms de chaque page.

Avez-vous déjà appris ce que sont les prototypes et l'espacement des noms ?

Comme ceci :

var yourPageNameSpace = {
    func1: function () {},
    func2: function() {}
}

puis vous faites votrePageNameSpace.func1()

En résumé. Oui, cela convient pour une ou deux pages, mais pas pour chacune d'entre elles. Dans ce cas, pensez aux espaces de noms.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X