Del código fuente require.js (línea 1902):
/**
* The function that handles definitions of modules. Differs from
* require() in that a string for the module should be the first argument,
* and the function to execute after dependencies are loaded should
* return a value to define the module corresponding to the first argument's
* name.
*/
La define()
función acepta dos parámetros opcionales (una cadena que representa una ID de módulo y una matriz de módulos requeridos) y un parámetro requerido (un método de fábrica).
El retorno del método de fábrica DEBE devolver la implementación para su módulo (de la misma manera que lo hace el Patrón de Módulo ).
La require()
función no tiene que devolver la implementación de un nuevo módulo.
Al define()
usarlo, está preguntando algo como "ejecutar la función que estoy pasando como parámetro y asignar lo que sea que regrese a la ID que estoy pasando pero, antes, verifique que estas dependencias estén cargadas" .
Usando require()
usted está diciendo algo como "la función que paso tiene las siguientes dependencias, verifique que estas dependencias estén cargadas antes de ejecutarlo" .
La require()
función es donde utiliza sus módulos definidos, para asegurarse de que los módulos están definidos, pero no está definiendo nuevos módulos allí.
define()
), hasta que haya habido unarequire([])
llamada que lo haya solicitado o algo que dependa de él". github.com/jrburke/requirejs/wiki/…método "definir" para facilitar la definición del módulo y el método "requerir" para manejar la carga de dependencias
define se utiliza para definir módulos con o sin nombre en función de la propuesta utilizando la siguiente firma:
require, por otro lado, generalmente se usa para cargar código en un archivo JavaScript de nivel superior o dentro de un módulo si desea recuperar dependencias dinámicamente
Consulte https://addyosmani.com/writing-modular-js/ para obtener más información.
fuente
Reglas generales:
Utilice definir cuando desee definir un módulo que se reutilizará
Utiliza require para simplemente cargar una dependencia
Espero que esto te ayude.
fuente
require () y define () ambos utilizados para cargar dependencias. Hay una gran diferencia entre estos dos métodos.
Sus chicos muy simples
Requerir (): El método se utiliza para ejecutar funcionalidades inmediatas. define (): El método se utiliza para definir módulos para su uso en múltiples ubicaciones (reutilización).
fuente