Maison > interface Web > js tutoriel > le corps du texte

guide d'utilisation requireJS_others

WBOY
Libérer: 2016-05-16 15:03:36
original
1295 Les gens l'ont consulté

La plupart des projets utilisent le développement modulaire. requireJS est un modèle de développement de modules AMD, il est donc nécessaire de l'apprendre. En utilisant requireJS pour écrire des démos étape par étape, vous pouvez découvrir le processus de développement global de requireJS et certains de vos propres sentiments concernant l'utilisation de requireJS.

AMD : un mécanisme basé sur un module pour charger du code JavaScript de manière asynchrone. Il recommande aux développeurs d'encapsuler le code JavaScript dans des modules. La dépendance envers les objets globaux devient une dépendance envers d'autres modules. Résolvez les dépendances de modules individuels grâce à un chargement paresseux et à la demande. Les avantages du code JavaScript modularisé sont évidents. Le couplage lâche de chaque composant fonctionnel peut grandement améliorer la réutilisabilité et la maintenabilité du code. Ce chargement non bloquant, simultané et rapide du code JavaScript permet à d'autres éléments d'interface utilisateur de la page Web qui ne dépendent pas du code JavaScript, tels que les images, CSS et autres nœuds DOM, d'être chargés en premier. La page Web se charge plus rapidement et les utilisateurs obtiennent. meilleurs résultats. Bonne expérience.

1. Téléchargez requireJS

Avant le développement modulaire avec requireJS, nous devons préparer certaines choses. Ensuite, vous devez télécharger le fichier require.js, hahaha, car il est développé sur cette base.

2. Créez un fichier HTML

Après avoir créé un fichier HTML, vous devez utiliser la balise <script> lors de l'importation de requireJS. Cela ne fait aucun doute. Ensuite, il y a un attribut data-main dans cette balise, qui fonctionne comme une entrée et une sortie, c'est-à-dire qu'après le chargement de requireJS, entrez à partir de l'attribut data-main. </p> <p>Par exemple : </p> <div class="jb51code"> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> &lt;!DOCTYPE html&gt; &lt;head&gt; &lt;title&gt;require&lt;/title&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;/&gt; &lt;/head&gt; &lt;body&gt; &lt;!--这是requireJS,data-main是作为入口模块,在这里就是js/main--&gt; &lt;script data-main=&quot;js/main&quot; src=&quot;js/require.js&quot;&gt;&lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </pre><div class="contentsignin">Copier après la connexion</div></div> </div> <p>Lorsque je charge js/require.js, j'exécute le fichier js de js/main. main est également un fichier js. Nous pouvons omettre son suffixe .js et requireJS l'ajoutera. </p> <p><strong>3. données principales</strong></p> <p>Lorsque le programme exécute <script data-main='js/main' src='js/require.js'></script>, entrez main.js via data-main et exécutez main.js . Alors, qu’y a-t-il dans main.js ?

Veuillez consulter le code :

/*
  require.config执行baseUrl为'js',
  baseUrl指的模块文件的根目录,可以是绝对路径或相对路径
*/
require.config({
  baseUrl: 'js',
  paths: {
    jquery: 'jquery-1.8.2.min'
  }
});
/*
  这里通过require,来引入monkey.js,
  然后通过后面的匿名函数给他们分配参数,如这里的
  monkey-->mk
*/
require(['monkey'],function(mk) {
  mk.init();  
});
Copier après la connexion

À partir du code ci-dessus, vous pouvez voir que main.js contient deux modules : require.config et require.

La fonction de require.config est de configurer certains paramètres de requireJS puis de les référencer publiquement.

Par exemple, la baseUrl ci-dessus, sa fonction est de l'utiliser comme chemin de base et de rechercher des fichiers sous ce chemin. J'ai mis tous les fichiers .js dans le dossier js. Par conséquent, après avoir configuré cet attribut, les futurs fichiers rechercheront du contenu sous le chemin js.

Comme suit :

require(['monkey'], function(monkey){
  monkey.init();
});
Copier après la connexion

Quand il fait référence à singe, il fait référence à singe, pas à js/monkey.

Quel est le rôle des chemins ? Remplacez simplement certains fichiers js couramment utilisés par des noms communs. Par exemple, jquery-1.8.2.min.js, nous ne pouvons pas écrire ceci à chaque fois que nous l'appelons, donc pour plus de commodité, nous remplacerons jquery-1.8.2.min.js par jquery. Vous pouvez désormais l'utiliser. jquery directement, ce qui est rapide et pratique.

D'accord, require.config semble familier. En un mot, sa fonction est de configurer requireJS.

Qu'en est-il de l'exigence ?

La fonction de require est l'exécution. Par exemple, ici, j'ai seulement besoin de Monkey.js pour s'exécuter, j'ai donc importé Monkey, puis utilisé le paramètre mk pour obtenir la valeur de retour après l'exécution de Monkey. S'il existe une valeur de retour, nous pouvons alors gérer mk en conséquence.

Hé, qu'est-ce qu'il y a dans le singe ?

Voyons :

/*
  define的参数为匿名函数,该匿名函数返回一个对象
*/
define(['jquery'],function($){
  var init = function(){
    console.log($.browser);
  };
  return {
    init: init
  };
});
Copier après la connexion

définir ! Sa fonction est de définir un module js destiné à être utilisé par d'autres modules ou requis. La méthode de référencement d'autres modules js est similaire à require. Elle importe les fichiers js requis, puis les paramètres correspondent un à un. Ce à quoi tout le monde doit faire attention, c'est que les méthodes ou variables définies dans définir ne sont pas accessibles par d'autres modules. Par conséquent, si vous souhaitez que d'autres modules aient accès, jetez simplement la méthode correspondante (retour) sur l'objet ou la fonction. Ici, ce que je renvoie est un objet qui fournit un init aux autres modules à appeler.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal