Liam Rosenior: Chelsea Poised to Hire Strasbourg Coach
This is a configuration file, likely for a JavaScript module loader like RequireJS. Let’s break down what it contains:
1. paths:
This section defines the mapping between logical module names (used in require() calls in your JavaScript code) and the actual file paths where those modules are located. It’s organized into nested objects.
* Top-Level Keys: These represent base paths or categories.For example, libs suggests a directory containing third-party libraries. fly likely represents custom code within the project.
* Nested Keys: These are the module names.
* Values: These are the corresponding file paths. these can be relative paths (starting with ./ or ../) or URLs.
Examples from paths:
* ".custom": "2.6.2": A module named .custom is located at the file 2.6.2 (presumably in the current directory). The leading dot suggests it might be a special module.
* "libs/velocity": "1.2.2": The Velocity library is located at 1.2.2 within the libs directory.
* "libs/jquery/dotdotdot": "1.6.1": The dotdotdot jQuery plugin is located at 1.6.1 within the libs/jquery directory.
* "facebook": "https://connect.facebook.net/en_US/sdk.js": The Facebook JavaScript SDK is loaded directly from a CDN.
2. shim:
this section is crucial for dealing with libraries that don’t follow the standard asynchronous module definition (AMD) format that requirejs expects. These are typically older libraries that were written to load synchronously and rely on global variables. shim tells RequireJS how to load these libraries and make them available to your code.
* Key: the module name (as it would be used in a require() call).
* Value: an object with the following properties:
* deps: An array of module names that this library depends on. RequireJS will ensure these dependencies are loaded before loading the shimmed library.
* exports: The name of the global variable that the library creates. RequireJS will assign the library’s functionality to this variable, making it available as a module.
Examples from shim:
* "liveconnection/managers/connection": {"deps":["liveconnection/libs/sockjs-0.3.4"]}: The liveconnection/managers/connection module depends on liveconnection/libs/sockjs-0.3.4. RequireJS will load sockjs-0.3.4 first.
* "fly/libs/underscore-1.5.1": {"exports":"_"}: The Underscore.js library creates a global variable named _. RequireJS will make Underscore available as the module fly/libs/underscore-1.5.1 by assigning the _ variable to it.
* "libs/jquery/ui/jquery.ui.tabs-1.11.4": ["jquery","version!libs/jquery/ui/jquery.ui.core","version!fly/libs/jquery.widget"]: The jQuery UI Tabs widget depends on jQuery, the jQuery UI core, and a custom widget utility.
3. map:
This section defines how to resolve module names when they contain version numbers or other qualifiers. It’s used to simplify module loading and avoid duplication.
* *: This special key means that the mapping applies to all modules.
* Key: The module name with a qualifier (e.g., "jquery.ui.tabs-1.11.4").
* Value: The base module name without the qualifier (e.g., "jquery").
examples from map:
* "libs/jquery/ui/jquery.ui.tabs-1.11.4": "jquery":
