Les documents non officiels sont compilés à partir du texte et des exemples de nos propres documents officiels pour une référence rapide.
Pourquoi utiliser Sea.js ?
Sea.js poursuit une manière simple et naturelle d'écrire et d'organiser le code et possède les fonctionnalités principales suivantes :
Spécification de définition de module simple et conviviale : Sea.js suit la spécification CMD et peut écrire du code de module comme Node.js.
Organisation naturelle et intuitive du code : chargement automatique des dépendances et configuration concise et claire nous permettent de profiter davantage du codage.
Sea.js fournit également des plug-ins couramment utilisés, qui sont très utiles pour le développement, le débogage et l'optimisation des performances, et disposent d'interfaces extensibles riches.
Compatibilité
Sea.js dispose de cas de tests complets et est compatible avec tous les principaux navigateurs :
Chrome 3+
Firefox 2+
Safari 3.2+
Opéra 10+
IE 5.5+
Sea.js peut fonctionner du côté mobile, y compris les applications en mode hybride. En théorie, Sea.js peut fonctionner sur n'importe quel moteur de navigateur.
seajs.configObject
alias Objet
Configuration de l'alias, après configuration, vous pouvez utiliser require dans le module pour appeler require('jquery');
seajs.config({ alias: { 'jquery': 'jquery/jquery/1.10.1/jquery' } });
define(function(require, exports, module) { //引用jQuery模块 var $ = require('jquery'); });
chemins Objet
Définissez le chemin pour faciliter les appels entre répertoires. En définissant le chemin de manière flexible, vous pouvez spécifier un répertoire sans affecter la base.
seajs.config({ //设置路径 paths: { 'gallery': 'https://a.alipayobjects.com/gallery' }, // 设置别名,方便调用 alias: { 'underscore': 'gallery/underscore' } });
define(function(require, exports, module) { var _ = require('underscore'); //=> 加载的是 https://a.alipayobjects.com/gallery/underscore.js });
vars Objet
Configuration variable. Dans certains scénarios, le chemin du module ne peut être déterminé qu'au moment de l'exécution. Dans ce cas, vous pouvez utiliser des variables vars pour le configurer.
vars configure la valeur de la variable dans l'identifiant du module, et {key} est utilisé pour représenter la variable dans l'identifiant du module.
seajs.config({ // 变量配置 vars: { 'locale': 'zh-cn' } });
define(function(require, exports, module) { var lang = require('./i18n/{locale}.js'); //=> 加载的是 path/to/i18n/zh-cn.js });
carte Tableau
Cette configuration peut mapper et modifier le chemin du module, et peut être utilisée pour la conversion de chemin, le débogage en ligne, etc.
seajs.config({ map: [ [ '.js', '-debug.js' ] ] });
define(function(require, exports, module) { var a = require('./a'); //=> 加载的是 path/to/a-debug.js });
préchargement Tableau
À l'aide de l'élément de configuration de préchargement, vous pouvez charger et initialiser le module spécifié à l'avance avant de charger le module ordinaire.
Les chaînes vides en préchargement seront ignorées.
// 在老浏览器中,提前加载好 ES5 和 json 模块 seajs.config({ preload: [ Function.prototype.bind ? '' : 'es5-safe', this.JSON ? '' : 'json' ] });
Remarque : La configuration en préchargement doit attendre son utilisation avant de se charger. Par exemple :
seajs.config({ preload: 'a' }); // 在加载 b 之前,会确保模块 a 已经加载并执行好 seajs.use('./b');
La configuration de préchargement ne peut pas être placée dans les fichiers du module :
seajs.config({ preload: 'a' }); define(function(require, exports) { // 此处执行时,不能保证模块 a 已经加载并执行好 });
débogagebooléen
Lorsque la valeur est vraie, le chargeur ne supprimera pas les balises de script insérées dynamiquement. Les plug-ins peuvent également décider de la sortie du journal et d'autres informations en fonction de la configuration de débogage.
baseChaîne
Lorsque Sea.js analyse l'identifiant de niveau supérieur, il sera analysé par rapport au chemin de base.
Remarque : Généralement, veuillez ne pas configurer le chemin de base. Il est souvent plus simple et plus cohérent de placer sea.js dans le chemin approprié.
charsetString | Fonction
Lors de l'obtention du fichier du module, l'attribut charset de la balise