12
votes

Pourquoi n'utilisons-nous pas seulement des JS minifiés?

Je vois ce mot alot "minifié" et je ne semble jamais choisir un script (c.-à-d. des plugins de jQuery) qui est "minifiée" mais je suppose que je devrais. Si j'ai raison signifie que les moyens minifiés de supprimer toutes les choses inutiles du code source sans changer de fonctionnalité, alors pourquoi n'avons-nous que nous n'avons-nous que de la source minifiée et pourquoi vous devez vous embêter avec la version complète? Pourquoi donner aux gens l'option?

yolo


3 commentaires

Notez que la bibliothèque Microsoft Ajax possède les deux versions qui basculent automatiquement en fonction de votre web.config S réglage.


Minifiée ne devrait vraiment être utilisée que pour les environnements de production, OMI. Avez-vous déjà essayé de déboguer jQuery + ie des problèmes avec le code source minifiée? Ce n'est pas amusant. Ligne 1, colonne 12387? Non merci...


Pourquoi quelqu'un a-t-il voté cela? Ne vous êtes pas censé commenter pourquoi vous votez quelque chose en bas ...


9 Réponses :


9
votes

La version minifiée est difficile à comprendre et à déboguer


0 commentaires

46
votes

Lorsque vous déboguez, il est beaucoup plus facile d'avoir le code source complet. Il est assez difficile de déboguer quand il est dit que tout est à la ligne 1 (car tout est généralement condensé à une longue ligne) et une ligne 1 illisible 1 pour cette affaire.

Je testai en utilisant la version enflammée complète, puis je minimise tout pour le déploiement.


4 commentaires

Non seulement est-il en une seule ligne, mais les noms variables sont souvent changés en lettres simples, il est donc difficile de deviner quelle variable fait.


"Je testai à l'aide de la version pleine enveloppée, puis je minimise tout pour le déploiement." ... puis testez à nouveau, je présume?


Munchybunch est correct. Essais et développement (+ Débogage!) Utilisation des versions "pleines", pour toutes et éventuellement d'autres raisons que ci-dessus. Lorsque vous passez à la production, utilisez la version «Minifiée» ou votre propre méthode de rétrécissement pour des raisons de bande passante / d'autres raisons.


@Tim: Développez avec la version complète, Stage / QA avec la version MIN, puis déployez. :)



1
votes

Si vous voulez comprendre comment le script fonctionne ou l'étendez, vous feriez mieux d'avoir une version non minifiée de celle-ci.


0 commentaires

1
votes

Le script minifié est difficile à lire pour un humain et il est difficile de déboguer. Pour les bibliothèques JavaScript comme JQuery, il est agréable de pouvoir lire la source de la fonction que vous utilisez pendant le débogage, afin de mieux comprendre comment cela fonctionne. Dans un environnement de production, vous devez absolument accéder à la version minifiée pour accélérer le transfert de données.


1 commentaires

Il devrait également accélérer l'analyse car il y a moins de caractères à traiter. Mais c'est probablement insignifiant.



0
votes

Je suppose que, à l'origine, quiconque a écrit les bibliothèques JavaScript les a écrites comme la "version complète", c'est-à-dire avec les commentaires et le formatage de code intégré - car comme mentionné, le code est beaucoup plus facile à lire de cette façon. Cependant, quiconque a écrit les bibliothèques JavaScript sait également que la version minifiée sera plus légère et plus sympathique. Puisque le développeur a déjà la "version complète", pourquoi ne le fournirait-il pas avec une version minifiée?

Dans ce cas, la fourniture d'une "version complète" ne nécessite aucun travail supplémentaire car il s'agit de la version originale. Tant que le développeur va fournir une version minifiée - il pourrait aussi bien fournir la version complète utilisée pour rendre la version minifiée. Avec une bibliothèque JS open source, fournissant une version complète avec les commentaires et le formatage du code permet simplement que tout ce qui soit plus facile pour la communauté de comprendre ce qui se passe.

Cela dit, je vous recommanderais d'utiliser la version minifiée dans vos environnements de production. De préférence une version minifiée remise sur un CDN .


0 commentaires

0
votes

Pour être simple, la version minifiée est destinée à la production et à la version non minimale est à des fins de débogage de développement.

Espéronner pour la performance, la version minifiée est meilleure. Vous pouvez vérifier la différence entre les temps de charge via le panneau Firebug Net


0 commentaires

4
votes

La réponse est assez simple et n'a pas besoin d'une explication plus poussée IMHO, du jQuery site

  • Choisissez votre niveau de compression:
  • jquery-1.4.4.min.js production (26kb, minifiée et gzippée)
  • jquery-1.4.4.js Développement (179KB, Code non compressé)

    Maintenant, est assez explicite:

    • production = plug & play;
    • Développement = Débogage, modding, codage ....

      J'espère que cette aide!


0 commentaires

0
votes

Eh bien, vous pouvez utiliser un script PHP pour minifier (et cache / gzip si nécessaire) vos scripts JS à la volée. C'est ce que je fais la plupart du temps.

Il a tous les avantages de la minibation de votre JavaScript sans les inconvénients. Enregistre environ 70% (GZIP + Minify) des données transférées.


0 commentaires

2
votes

Oh non! Il y a un bogue dans JQuery. Vous devez la trouver et la réparer.


Vous avez utilisé la version minifiée de JQuery. H2>

Il s'agit du message d'erreur que vous avez, votre seul conseil sur ce qui aurait pu se produire: P >

5992    l = this.length;
5993
5994    if ( value === undefined && elem. ) {
5995        return elem.innerHTML;
5996    }
5997
5998    // See if we can take a shortcut and just use innerHTML
5999    if ( typeof value === "string" && !rnoInnerhtml.test( value ) && !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {


0 commentaires