2009-01-28 5 views
3

Je veux concatenate javascript files together et les servir comme un de mon site - donc c'est mon code et plugins jquery ou d'autres scripts tiers. (J'utilise google CDN pour l'hébergement de jQuery).Est-il toujours possible de concaténer des fichiers javascript de différentes sources et de les charger en un seul fichier?

Je me demandais je c'est toujours garanti pour être une chose sûre à faire. Je ne suis pas un expert en Javascript en ce qui concerne les espaces de noms et j'étais juste un peu inquiet qu'il soit possible d'avoir quelque chose - comme une construction d'espace de noms qui pourrait causer un conflit. Je vais bien supposer que le javascript est bien formé à partir de chaque source. Pour autant que je sache, une étiquette <script> ne fait que coller le JS comme s'il se trouvait dans le fichier, mais je me demandais s'il y avait des cas limites où ce n'est pas vrai. Je suis conscient que la concaténation de fichiers est quelque chose qui est commun et utilisé par les frameworks javascript tels que Yahoo's YUI - mais ils ont évidemment le contrôle total de leurs fichiers.

Répondre

0

Tant que vous les concaténé dans le bon ordre, vous devriez être en sécurité. L'ordre correct est le même que celui dans lequel vous les chargez aujourd'hui.

+0

Donc, il n'y a rien de tel que «le champ d'application» en javascript? –

+0

@Simon c'est correct – Greg

+0

@simon: l'objet hôte est partagé au niveau de la fenêtre/de l'image - les fichiers ne sont pas pertinents à cet égard ... – Christoph

1

Je serais d'accord avec krosenvold aucune raison pour laquelle cela ne devrait pas fonctionner que je peux réfléchir. Assurez-vous simplement de regarder vos variables globales et noms de fonctions, ils pourraient causer des problèmes si vous obtenez les scripts de plusieurs sources non collaboratives.

+0

ya! javascript est effrayant. Je suis sûr que c'est une source beaucoup plus proche d'un conflit. Ce n'est pas comme si je n'arrêtais pas de tester. Je voulais juste m'assurer qu'il n'y avait pas de subtilités de concaténation dynamique de fichiers .js côté serveur - surtout depuis que j'ai présenté mon code de concaténation pour que d'autres utilisent –

3

Vous pouvez rencontrer des erreurs de syntaxe autour des points-virgules.

fichier A:

var foo = 3 // END OF FILE 

fichier B:

var bar = 4 // BEGINNING OF FILE 
fichier

A + B:

var foo = 3var bar = 4 

facilement résolu en brouillant juste un point-virgule entre chaque fichier que vous êtes concaténer.

+0

rusé :) belle observation. Merci –

Questions connexes