2012-07-19 21 views
35

Soy nuevo en el aprendizaje de dojo y me he encontrado con las funciones require() y define() y no puedo comprender ninguno de ellos. Además, ¿cuándo usaría cualquiera de ellos? Una pequeña demostración o ejemplo sería beneficioso. ¡Muchas gracias!¿Cuál es la principal diferencia entre la función require() y define() en dojo y cuándo la usaríamos?

+1

Otro buen enlace: [Dojo require() vs. definir()] (http://g00glen00b.be/dojo-require-vs-define/). "define()" proporciona un valor de retorno y carga las dependencias de forma lenta. Se usa para definir sus propios módulos personalizados y las dependencias que necesita. El uso principal de "require()" es la importación de módulos. Ambos son sincrónicos; only require() no es flojo. – FoggyDay

Respuesta

59

require y define son parte de la API de definición de módulo asíncrono (AMD).

Utiliza define para definir un módulo que pueda ser consumido por otro código. Generalmente, define se usará en un archivo javascript. El archivo javascript está definiendo un módulo. Todos los archivos de Dojo usan definir.

Utiliza require cuando no está definiendo un módulo, pero necesita módulos que se han definido. Generalmente, require se usará en páginas HTML. La página HTML no es un módulo, pero requiere módulos para presentar la página al usuario.

AMD API

https://github.com/amdjs/amdjs-api/wiki/AMD

+0

Muy buena respuesta. – Krishna

+0

Descubierto un síntoma de utilizar el incorrecto es la devolución de llamada que vuelve inmediatamente antes de que se ejecute el código ... http://stackoverflow.com/questions/5590618/requirejs-calling-callbacks-before-dependencies-loaded-resolved?rq=1 – prototype

+0

cuando está definiendo un nuevo módulo y necesita otro módulo que ya había creado, puede usar definir para requerir ese módulo – AhammadaliPK

Cuestiones relacionadas