Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13010|Respuesta: 1

[requiere] Javascrip{filter}tmodule - load module require.js

[Copiar enlace]
Publicado en 11/10/2017 9:31:50 | | |
Desventajas de la carga normal de JS

La interfaz debe empezar a renderizarse después de cargar el js
Si hay dependencias entre js, deben cargarse en orden según dichas dependencias. Si las dependencias son complejas, es más complicado escribir y mantener el código
Así, require.js surgió en la voz de las amplias masas del pueblo.

El papel de require.js

Implementa la carga asíncrona de js para evitar la falta de respuesta de la página
Gestionar las dependencias entre módulos para facilitar la escritura y el mantenimiento de código

require.js carga

Primero, entra en la [web oficial] http://requirejs.org/ descarga la última versión

Deposita la require.js descargada o copiada en el directorio del proyecto

Carga require.js en la página deseada
Carga directa: Write <scrip{filter}t src="js/require.js"></scrip{filter}t>
Carga asíncrona: <scrip{filter}t src="js/require.js" deferrar async="true" ></scrip{filter}t>
Nota: async significa que este archivo debe cargarse de forma asíncrona para evitar que la página web deje de responder. IE no soporta asincrónico, así que carga el atributo de diferencia;
Una vez cargado el require.js, el siguiente paso es cargar nuestro propio código. Supongamos que nuestro propio archivo de código está main.js, también colocado bajo el directorio js. Así que, simplemente escribe lo siguiente: <scrip{filter}t src="js/require.js" data-main="js/main"></scrip{filter}t>
La función del atributo data-main es especificar el módulo principal del programa web. En el ejemplo anterior, este archivo se cargará primero require.js la main.js bajo el directorio js. Como require.js sufijo predeterminado es js, puedes main.js abreviado a main.

Cómo escribir el módulo principal

El main.js de la sección anterior se denomina módulo principal. Es decir, el método de entrada para todo el módulo.

Cómo escribir main.js

Métodos escritos directamente en el main.js sin depender de ningún otro módulo
main.function()
El módulo principal depende de otros módulos, así que utiliza la función require()
main.js
require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){
Algo de código aquí
});
La función require() acepta dos parámetros:
El primer parámetro es un array que representa los módulos de los que depender
El segundo parámetro es una función de callback que se llamará después de cargar todos los módulos especificados en el frontal. Los módulos añadidos se pasan en forma de parámetros, para que puedan usarse dentro de la función de callback.

Carga de módulos

Ejemplo: Si el módulo dependiente del módulo principal (main.js) es ['jquery', 'crypto-js', 'anything']

Carga por defecto
Si los archivos de estos tres módulos dependientes están jquery.js, crypto-js.js, anything.js y main.js en el mismo directorio, pueden cargarse automáticamente según la sección anterior
Carga de configuración require.config()
require.config() está escrito en la cabecera del módulo principal (main.js).


Cómo se escriben los módulos AMD

require.js cargado el módulo, usando la especificación de AMD. Es decir, el módulo debe redactarse conforme a las normativas de AMD.
Específicamente, los módulos deben definirse mediante una función definida específica. Si un módulo no depende de otros módulos, puede definirse directamente en la función define()
Supongamos que ahora existe un archivo math.js que define un módulo de matemáticas. Luego, math.js escribir:

Así es como se carga:


Si el módulo también depende de otros módulos, entonces el primer argumento de la función define() debe ser un array que indique las dependencias del módulo.

Cuando la función requir() carga el módulo anterior, cargará primero myLib.js archivo.

Carga módulos que no sean AMD

Hay muchos módulos en el mercado que no cumplen con la especificación de AMD, require.js pueden cargarse
Antes de que estos módulos puedan cargarse, deben configurarse para requir.config() para definir algunas de sus características
Por ejemplo, noamd.js y noamddeps.js ambos módulos no son AMD, y si quieres cargarlos, tienes que definir sus características:

require.js acepta un objeto de configuración que, además de la propiedad de caminos, también tiene una propiedad de cuña específicamente para configurar módulos no AMD.
Específicamente, cada módulo define:
- Valor de exportación (nombre de la variable de salida): indica el nombre del módulo cuando se llama externamente
- Matriz DEPS: indica las dependencias de este módulo
Por ejemplo, el plugin jQuery puede definirse así:


require.js plugin

require.js también ofrece una variedad de plugins que implementan algunas funciones especiales
El plugin domready permite que la función de callback se ejecute después de cargar la estructura del DOM de la página:


Plugins de texto e imagen, que permiten require.js cargar archivos de texto e imagen:


Plugins similares incluyen JSON y MDOWN para cargar archivos JSON y Markdown.





Anterior:Jajajajaja
Próximo:Las coordenadas Baidu se convierten a coordenadas WGS84
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com