Estoy empezando con require.js. He logrado envuelto jquery, algunos plugins, y un par de mis propios módulos. Estoy tratando de interactuar con mi módulos (o jquery) de Firebug (o Google Chrome JS console), y no estoy teniendo mucha suerte.

¿Cuál es la forma correcta de acceder a estos módulos de la consola?

InformationsquelleAutor erikcw | 2011-12-10

2 Comentarios

  1. 54

    Decir que hemos módulo /app/scripts/methodsModule.js que devuelve un par de métodos:

    define({
        someMethod: function() {
            //do stuff
        },
        anotherMethod: function() {
            //do some more stuff
        }
    });

    En nuestros datos-archivo principal /app/scripts/main.js tenemos:

    require(['methodsModule'], function(methods) {
        methods.someMethod() //call someMethod
        methods.anotherMethod() //call anotherMethod
    })

    Una vez requireJS cargas de seguridad de nuestros datos principales, podemos acceder a cualquiera de los módulos que ya han sido cargados por requireJS de la consola de javascript línea de comandos así:

    >> methods = require('methodsModule'); //requireJS has module methodsModule stored
    >> methods.someMethod() //call someMethod
    >> methods.anotherMethod() //call anotherMethod

    Si un módulo no ha sido cargado por una llamada a exigir() o definir(), tenemos que pasar nuestro propio devolución de llamada para la función a llamar después de que el módulo ha sido cargado:

    >> myCB = function(methods) { methods.someMethod() }
    >> require(['methodsModule'], myCB)

    De lo contrario, requireJS lanza un error diciendo que el módulo no se ha cargado todavía..

    • hace este trabajo con requireJS «optimizado» scripts? Tal vez estoy haciendo algo mal aquí, pero no parece funcionar para mí.
    • Todavía válida como la de 05/20/2015. En la conversión de una «primitiva» proyecto de AMD, necesitaba asegurarse de que todo estaba funcionando. Sin embargo, no podía localizar donde se devuelve el módulo objeto iba después de definir ejecutado. Gran explicación.
  2. 15

    Hay una manera sin el uso de las devoluciones de llamada.

    Si el módulo no se requiere en la consola o de la aplicación antes, usted puede requerir primero:

    require(['methodsModule']);

    después de que usted puede utilizar «dinámica» se requieren para acceder a ella:

    require('methodsModule').someMethod();
    • Eso fue en serio más fácil de lo que yo estaba tratando, +0.1E1. Yo prefiero sólo tienes que cargar el módulo en la ventana de fácil acceso, aunque. require([m='lib/imagesloaded']); imagesLoaded=require(m);

Dejar respuesta

Please enter your comment!
Please enter your name here