Estoy intentando cargar un complemento usando requirejs pero de vez en cuando obtengo un error, "$ .fn no está definido" pero si recargo la página el error desaparece casi como ahora jquery se almacena en caché, el problema se elimina. Estoy cargando mis bibliotecas de esta manera:Requirejs cargando complementos
require(["jquery-1.4", "/script/jquery.autoSuggest.packed.js"], function($) {
$(function() {
//code
});
});
¿Puedes ver si hay algún problema con esta implementación que pueda causar este error? Requerir js está siendo añadido a la página de modo que:
<script type="text/javascript" src="http://website.co.uk/frameworks/requirejs/0.2.4/sharedmodules/require.js">
</script>
<script type="text/javascript"> requireMap = {
"jquery-1.4":"http://website.co.uk/sharedmodules/jquery-1.4"
};
require({ baseUrl: 'http://website.co.uk/', paths: requireMap });
</script>
Esto no se puede cambiar, ya que es parte del marco que estoy usando.
¿Alguna sugerencia?
Gracias!
um. ¿eso todavía se aplica a jQuery 1.7? – Stann
@Stann sí, todavía se aplica para jQuery 1.7. Mientras jQuery 1.7 se registra como un módulo AMD, el complemento jQuery probablemente no ajuste su código en un contenedor define(), pidiendo 'jquery' como una dependencia. El problema es realmente con el complemento jQuery: si se carga antes de que jQuery se haya cargado, habrá un problema, a menos que el complemento se envuelva en una llamada a define() de AMD. – jrburke
Para aquellos que encontraron esta vía, el complemento de pedido no se proporciona para RequireJS 2.0, por lo que el enlace de @ jrburke anterior no ayudará. Todavía puede usar la [API 1.0 con el complemento de orden] (http://requirejs.org/docs/1.0/docs/api.html#order), pero una mejor solución es usar [2.0 con la configuración de calza] (http://requirejs.org/docs/api.html#config-shim). –