Home SportsLandon Dickerson : Blessure, Opération et Retour Possible

Landon Dickerson : Blessure, Opération et Retour Possible

by Thomas Moreau - Sports

Okay, il s’agit d’un fichier de configuration pour un chargeur de modules JavaScript, probablement RequireJS. Décomposons ce qu’il représente.

Structure générale

Il s’agit d’un objet JSON qui définit la manière dont les modules JavaScript sont chargés et gérés.C’est essentiellement une carte indiquant au chargeur où trouver les dépendances et comment résoudre les noms de modules.

Sections clés

  1. paths : Il s’agit de la section la plus importante. Elle définit des alias (noms courts) pour les chemins des modules. Le chargeur utilisera ces alias pour trouver les fichiers JavaScript réels.

Exemple : "adobe-pass":"https://sports.cbsimg.net/js/CBSi/app/VideoPlayer/AdobePass-min.js" signifie que lorsque votre code utilise require(['adobe-pass']), le chargeur récupérera le fichier JavaScript à partir de l’URL spécifiée.

Structure : "alias": "chemin_réel"

Modèles courants :

  • URLs externes : De nombreuses entrées pointent vers des CDN (réseaux de diffusion de contenu) tels que cdnjs.cloudflare.com ou directement vers les serveurs de CBSi (sports.cbsimg.net). Ceci est courant pour les bibliothèques populaires afin de tirer parti de la mise en cache et d’une diffusion plus rapide.
  • Chemins relatifs : Certaines entrées (comme fly/libs/backbone-1.0.0) suggèrent que les modules sont situés dans une structure de répertoire de projet.
  • Chemins versionnés : Les chemins tels que fly/libs/backbone-1.0.0 et libs/jquery/ui/jquery.ui.tabs-1.11.4 incluent des numéros de version.C’est une bonne pratique pour gérer les dépendances et éviter les problèmes de compatibilité.
  1. shim : Cette section est utilisée pour définir les dépendances des modules qui ne les déclarent pas explicitement à l’aide de la définition de module standard de RequireJS (par exemple, en utilisant define()). Elle est fréquemment utilisée pour les anciennes bibliothèques qui n’ont pas été conçues avec des chargeurs de modules à l’esprit.

Okay, this looks like a configuration file for a JavaScript module loader, likely RequireJS. Let’s break down what it represents.

Overall Structure

This is a JSON object that defines how JavaScript modules are loaded and managed.It’s essentially a map telling the loader where to find dependencies and how to resolve module names.

Key Sections

  1. paths: This is the most vital section. It defines aliases (short names) for module paths. The loader will use thes aliases to find the actual JavaScript files.

Example: "adobe-pass":"https://sports.cbsimg.net/js/CBSi/app/VideoPlayer/AdobePass-min.js" means that when your code uses require(['adobe-pass']), the loader will fetch the JavaScript file from the specified URL.

Structure: "alias": "actual_path"

Common Patterns:
External urls: Many entries point to CDNs (Content Delivery Networks) like cdnjs.cloudflare.com or directly to CBSi’s servers (sports.cbsimg.net). This is common for popular libraries to leverage caching and faster delivery.
Relative Paths: Some entries (like fly/libs/backbone-1.0.0) suggest modules are located within a project directory structure.
Versioned Paths: Paths like fly/libs/backbone-1.0.0 and libs/jquery/ui/jquery.ui.tabs-1.11.4 include version numbers. This is good practice for managing dependencies and avoiding compatibility issues.

  1. shim: This section is used to define dependencies for modules that don’t explicitly declare them using RequireJS’s standard module definition (e.g., using define()). It’s frequently enough used for older libraries that were not designed with module loaders in mind.

Example: "fly/libs/backbone-1.0.0":{"exports":"Backbone","deps":["version!fly/libs/underscore","jquery"]}
"exports": "Backbone": This tells the loader that the fly/libs/backbone-1.0.0 script defines a global variable named Backbone. The loader will make this variable available as the module’s value.
"deps": ["version!fly/libs/underscore","jquery"]: This specifies that Backbone depends on underscore and jquery. The loader will ensure that these dependencies are loaded before loading Backbone. The version! prefix is a RequireJS plugin that likely handles versioning or path resolution.

  1. map: This section provides a more flexible way to map module names to paths, especially when dealing with versioning or different environments. It’s a more advanced feature than paths.

"":{"alias":"path"}: The "" means this mapping applies to all module names.

  1. waitSeconds: This sets a timeout (in seconds) for module loading. If a module doesn’t load within 300 seconds, the loader will throw an error.

Specific Modules and Libraries

Here’s a quick rundown of some of the libraries and modules being used:

jQuery: A popular JavaScript library for DOM manipulation and AJAX.
jQuery UI: A set of UI widgets built on top of jQuery (tabs, etc.).
Backbone.js: A JavaScript framework for building structured client-side applications.
Underscore.js: A utility library providing helpful functions for working with arrays,objects,and functions. DataTables: A JavaScript library for creating interactive tables. The fixedColumns and fixedHeader extensions add extra functionality.
Adobe Pass: A video authentication/authorization system.
Facebook SDK: For integrating with Facebook.
Google apis: For Google+ integration, ads, and other services.
GPT (Google Publisher Tag): For ad serving.
HLS.js: A JavaScript library for playing HTTP Live Streaming (HLS) video.
Taboola: A content proposal platform.
Twitter Widgets: For embedding Twitter content.
Video Avia: A custom video player framework (likely developed by CBSi). It has various plugins for different features (UI,GAM (Google Ad Manager),HLS,playlist).
IMA3 (Interactive Media Ads): Google’s video ad SDK.
Utils: A utility library (likely CBSi’s internal utility functions).
Vast Tracking: A library for tracking video ad impressions (VAST – Video Ad Serving Template). Recaptcha: Google’s reCAPTCHA service for bot protection.
Supreme Golf: A specific application or service related to Supreme Golf.

How it effectively works in Practice

  1. **require()

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.