有没有办法将外部Javascript作为Jasmine的源代码?

时间:2011-10-06 22:22:48

标签: javascript jasmine

我正在尝试配置jasmine.yml(使用jasmine gem)来使用从Google API提供的JQuery,而不是将其本地下载到我的服务器。即:

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

不幸的是,这似乎不起作用,因为(根据配置文件中的注释)它正在寻找相对于src_dir的文件路径。这不可能吗?

由于

鲁伊奎拉

3 个答案:

答案 0 :(得分:3)

我最后编写了javascript include via spec helper - 在我的例子中是Livereload脚本:

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

有点hacky但是有效。您可能希望更准确地定义插入脚本的位置。

答案 1 :(得分:1)

如果您使用的是jasmine-rails gem,则可以创建自己的layouts/jasmine_rails/spec_runner.html,并在那里添加远程依赖项。

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

答案 2 :(得分:1)

您可以使用jQuery getScript

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

如果您还想在外部包含jQuery,则必须以这种方式加载

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