我正在尝试配置jasmine.yml(使用jasmine gem)来使用从Google API提供的JQuery,而不是将其本地下载到我的服务器。即:
src_files:
- ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
不幸的是,这似乎不起作用,因为(根据配置文件中的注释)它正在寻找相对于src_dir的文件路径。这不可能吗?
由于
鲁伊奎拉
答案 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>')