我正在尝试将 jasmine.yml(使用 jasmine gem)配置为使用从 Google API 提供的 JQuery,而不是将其本地下载到我的服务器。IE:
src_files:
- ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
不幸的是,这似乎不起作用,因为(根据配置文件中的注释)它正在寻找相对于 src_dir 的文件路径。那这不可能吗?
谢谢
鲁伊
我正在尝试将 jasmine.yml(使用 jasmine gem)配置为使用从 Google API 提供的 JQuery,而不是将其本地下载到我的服务器。IE:
src_files:
- ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
不幸的是,这似乎不起作用,因为(根据配置文件中的注释)它正在寻找相对于 src_dir 的文件路径。那这不可能吗?
谢谢
鲁伊
我最终通过规范助手编写了 javascript include - 在我的例子中是 Livereload 脚本:
document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>');
这有点hacky但有效。您可能希望更准确地定义脚本的插入位置。
您可以使用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>')
如果您使用的是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