2011-10-06 15 views
6

Estoy tratando de configurar jasmine.yml (usando jazmín joya) para usar JQuery servido desde Google API en lugar de descargarlo localmente a mi servidor. Es decir .:¿Hay alguna manera de incluir Javascript externo como fuente de Jasmine?

src_files: 
    - ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js 

Desafortunadamente, este no parece funcionar, ya que (según los comentarios en el archivo de configuración) que está buscando rutas de los archivos relativos a src_dir. ¿No es esto posible entonces?

Gracias

Ruy

+0

¿Alguna vez encontrar una solución? Supongo que no se recomienda incluir archivos externos en un entorno de prueba, ya que están "fuera de tu control". En mi caso, sin embargo, me gustaría incluir un archivo alojado en localhost con un puerto diferente, lo que significa que tengo control total. – polarblau

Respuesta

3

Terminé de escribir el código JavaScript a través de ayudante incluyen especificaciones - en mi caso el guión LiveReload:

document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>'); 

Es un poco hacky, pero funciona. Es posible que desee definir con mayor precisión dónde se inserta el script.

1

Si está utilizando la gema jasmine-rails puede crear su propia layouts/jasmine_rails/spec_runner.html y agregar allí la dependencia remota.

!!! 5 
%html 
    %head 
    %title Jasmine Specs 
    = stylesheet_link_tag *jasmine_css_files 
    %script(src='//maps.googleapis.com/maps/api/js?sensor=false') 
    = javascript_include_tag *jasmine_js_files 
    %body 
    #jasmine_content 
    = yield 
0

Puede utilizar jQuery getScript:

$.getScript(external_script_url, function(data, textStatus, jqxhr) { 
    some code to execute after script is loaded 
}); 

En caso de que también desea incluir jQuery externamente, tiene que cargar esta manera

document.write('<script src="http://.../jquery.min.js</script>') 
Cuestiones relacionadas