Maison > interface Web > js tutoriel > La documentation simple de Seajs fournit une expérience de développement modulaire simple et ultime_Seajs

La documentation simple de Seajs fournit une expérience de développement modulaire simple et ultime_Seajs

WBOY
Libérer: 2016-05-16 15:05:37
original
1401 Les gens l'ont consulté

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' }
});
Copier après la connexion

define(function(require, exports, module) {
  //引用jQuery模块
  var $ = require('jquery');
});
Copier après la connexion

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'
  }
});
Copier après la connexion
define(function(require, exports, module) {
  var _ = require('underscore');
   //=> 加载的是 https://a.alipayobjects.com/gallery/underscore.js
});
Copier après la connexion

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'
  }
});
Copier après la connexion
define(function(require, exports, module) {
 var lang = require('./i18n/{locale}.js');
   //=> 加载的是 path/to/i18n/zh-cn.js
});
Copier après la connexion

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' ]
  ]
});
Copier après la connexion
define(function(require, exports, module) {
  var a = require('./a');
  //=> 加载的是 path/to/a-debug.js
});
Copier après la connexion

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'
  ]
});
Copier après la connexion

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');
Copier après la connexion

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 已经加载并执行好
});
Copier après la connexion

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

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal