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 descript
que 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_modules
en lo que implemento, por lo que normalmente tengo el proceso de compilación querequire.js
otro 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
foo
haciendorequire(''foo'')
. Instala RequireJS y lo carga comorequirejs
. ¿Cómo cargarfoo
usando 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
fs
de 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
define
llamadas. Recientemente he cargadomerge-options
en uno de mis proyectos congulp-wrap-amd
.merge-options
es 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
fs
de Node, deberá proporcionar un reemplazo parafs
que se ejecuta en un navegador. Presumiblemente, presentará un sistema de archivos falso a su código.