Alors que requirejs
est capable d'utiliser modules installés par npm , comment utiliser requirejs
en premier lieu si lui-même est installé via npm install requirejs
?
J'ai lu des exemples d'utilisation de requirejs
répertoriés dans exemple-section . Ils semblent tous supposer que require.js
est téléchargé dans un emplacement spécifique. Depuis le documentation dit spécifiquement
ne faites pas quelque chose comme require ("./ node_modules/foo/foo").
Je suppose que ce n'est pas juste de mettre index.html
quelque chose comme:
<html>
<head>
<script data-main="scripts" src="node_modules/requirejs/require.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Quelle est la méthode recommandée pour utiliser requirejs s'il est installé sur npm? Si j'ai oublié quelque chose dans la documentation, faites-le moi savoir. Je vous remercie
Il semble que vous confondiez un tas d'utilisations différentes de RequireJS:
Comment pouvez-vous utiliser un RequireJS installé via Node dans le navigateur?
Vous pouvez simplement l'installer avec npm install requirejs
, Puis votre fichier HTML a un élément script
qui pointe vers node_modules/requirejs/require.js
. Exactement comme vous le montrez dans votre extrait de code. C'est tout ce qu'on peut en dire. Cela étant dit, je n'aime pas avoir node_modules
Dans ce que je déploie, donc j'ai généralement ma copie de processus de construction require.js
Ailleurs.
Comment pouvez-vous charger des modules installés par npm avec RequireJS dans le nœud?
Supposons que sans RequireJS vous chargiez le module foo
en faisant require('foo')
. Vous installez RequireJS et le chargez en tant que requirejs
. Comment chargez-vous foo
à l'aide de RequireJS? Vous pouvez simplement faire requirejs('foo')
. Tant que RequireJS ne le trouvera pas dans sa propre configuration, il émettra en dernier recours un appel au require
de Node, et le chargera-t-il de cette façon? Voici une illustration. Installez RequireJS avec npm install requirejs
. Créez ce fichier:
var requirejs = require("requirejs");
var fs = requirejs("fs");
console.log(fs);
Ensuite, lancez-le. Vous obtiendrez le module fs
du Node de la console.
Comment charger des modules installés sur npm avec RequireJS dans un navigateur?
Cela dépend des modules. RequireJS ne contient pas de code qui fera magiquement fonctionner un module installé par npm dans le navigateur. Cela dépend finalement de la structure des modules. Certains cas:
A. Certains modules installés par npm peuvent être chargés avec RequireJS sans modification. Il y a une bibliothèque que j'ai créée qui est distribuée via npm et qui est pourtant une collection de modules AMD. Il est trivial de les charger avec RequireJS dans le navigateur.
B. Il peut nécessiter d'être enveloppé dans des appels define
. J'ai récemment chargé merge-options
dans l'un de mes projets avec gulp-wrap-AMD
. merge-options
Est un module CommonJS. Il ne prend pas en charge RequireJS prêt à l'emploi, mais si vous l'encapsulez avec un appel define
, cela fonctionnera.
C. Il peut nécessiter quelque chose de plus complexe avant d'être chargé dans un navigateur. Par exemple, si un module s'appuie sur le module fs
de Node, vous devrez fournir un remplacement pour fs
qui s'exécute dans un navigateur. Il présentera vraisemblablement un faux système de fichiers dans votre code.