javascript - funciona - requirejs 2.2 0
Cómo usar npm instalado requireJS para navegador (1)
Aunque requirejs es capaz de usar los módulos instalados en npm , ¿cómo puedo usar requirejs en primer lugar si el mismo está instalado a través de npm install requirejs ?
He leído ejemplos del uso de requirejs enumerados en la example-section . Todos parecen asumir que require.js se descarga en una ubicación específica. Dado que la documentación dice específicamente
no haga algo como require ("./ node_modules / foo / foo").
Supongo que no es correcto poner en index.html algo como:
<html>
<head>
<script data-main="scripts" src="node_modules/requirejs/require.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
¿Cuál es la forma recomendada de usar requirejs si está instalado npm? Si me perdí algo de la documentación, por favor hágamelo saber. Gracias
Parece que estás confundiendo un montón de usos diferentes de RequireJS:
¿Cómo se puede usar un RequireJS instalado a través de un nodo en el navegador?
Simplemente puede instalarlo con
npm install requirejs, y luego tendrá su archivo HTML con un elemento descriptque apunta anode_modules/requirejs/require.js. Exactamente como se muestra en su fragmento de código. Eso es todo al respecto. Dicho esto, no me gusta tenernode_modulesen lo que implemento, por lo que normalmente tengo el proceso de compilación querequire.jsotro lugar.¿Cómo se pueden cargar los módulos instalados con npm con RequireJS en el nodo?
Supongamos que sin RequireJS cargaría el módulo
foohaciendorequire(''foo''). Instala RequireJS y lo carga comorequirejs. ¿Cómo cargarfoousando RequireJS? Solo puedes hacerrequirejs(''foo''). Mientras RequireJS no lo encuentre a través de su propia configuración, emitirá como último recurso una llamada a las necesidades de Node, y la cargará de esta manera? Aquí hay una ilustración. Instale RequireJS connpm install requirejs. Crea este archivo:var requirejs = require("requirejs"); var fs = requirejs("fs"); console.log(fs);Entonces ejecútalo. Obtendrás en la consola el módulo
fsde Node.¿Cómo se pueden cargar los módulos npm-instalados con RequireJS en un navegador?
Depende de los módulos. RequireJS no contiene código que mágicamente haga funcionar un módulo npm instalado en el navegador. En última instancia, depende de cómo se estructuran los módulos. Algunos casos:
A. Algunos módulos npm-instalados pueden cargarse con RequireJS sin modificación. Hay una biblioteca que he creado, que se distribuye a través de npm y, sin embargo, es una colección de módulos AMD. Es trivial cargarlos con RequireJS en el navegador.
B. Puede requerir ser envuelto en
definellamadas. Recientemente he cargadomerge-optionsen uno de mis proyectos congulp-wrap-amd.merge-optionses un módulo CommonJS. No es compatible con RequireJS fuera de la caja, pero si lo envuelve con una llamada dedefine, funcionará.C. Puede requerir algo más complejo antes de que se cargue en un navegador. Por ejemplo, si un módulo se basa en el módulo
fsde Node, deberá proporcionar un reemplazo parafsque se ejecuta en un navegador. Presumiblemente, presentará un sistema de archivos falso a su código.