2011-10-06 12 views
6

Próbuję skonfigurować jasmine.yml (używając jaśminowego klejnotu), aby używać JQuery obsługiwanego z Google API, zamiast pobierać go lokalnie na mój serwer. .:Czy istnieje sposób na włączenie zewnętrznego kodu JavaScript jako źródła Jasmine?

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

Niestety to nie wydaje tj pracować, ponieważ (jak w komentarzach w pliku config) jest poszukujących filepaths względem src_dir. Czy to nie jest możliwe?

Dzięki

Ruy

+0

Czy kiedykolwiek znaleźć rozwiązania? Zgaduję, że nie można zachęcać do umieszczania plików zewnętrznych w środowisku testowym, ponieważ są one prawie "poza twoją kontrolą". W moim przypadku jednak chciałbym dołączyć plik hostowany na localhost z innym portem - co oznacza, że ​​mam pełną kontrolę. – polarblau

Odpowiedz

3

skończyło się na piśmie za pośrednictwem javascript obejmują specyfikacji pomocnika - w moim przypadku scenariusza Livereload:

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

To trochę hacky ale działa. Możesz dokładniej zdefiniować miejsce wstawiania skryptu.

1

Jeśli korzystasz z klejnotu jasmine-rails, możesz utworzyć własny layouts/jasmine_rails/spec_runner.html i dodać do niego zależność zdalną.

!!! 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

Można użyć jQuery getScript:

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

W przypadku chcemy także zawierać jQuery zewnętrznie, trzeba załadować go w ten sposób

document.write('<script src="http://.../jquery.min.js</script>') 
Powiązane problemy