2013-02-18 24 views
5

Khi sử dụng dự án Jasmine in a Rails, để giữ cho các phụ thuộc nhất quán trong thông số kỹ thuật của Jasmine, tôi muốn lấy jquery từ một cdn như được thực hiện trên trang thực. Tôi cố gắng để làm điều đó như vậy, trong tập tin Jasmine.yml tôi:Bạn có thể bao gồm tệp javascript từ CDN bằng Jasmine bằng cách nào?

helpers: 
    - http://code.jquery.com/jquery-1.9.1.js 

Tuy nhiên, điều này không bao giờ làm việc, như khi xem nguồn gốc của localhost: 8888 tôi nhận được:

<script src="/__spec__/http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script> 

thế nào bạn này một cách chính xác?

Trả lời

4

như được trả lời trong https://github.com/pivotal/jasmine-gem/issues/135

Tôi đã viết một trình trợ giúp để tải javascripts bên ngoài. Nó không phải là giải pháp tốt nhất (tôi muốn sử dụng cấu hình tập tin) nhưng nó hoạt động cho tôi.

var head = document.getElementsByTagName('head')[0]; 
var jQueryScript = document.createElement('script'); 
jQueryScript.setAttribute('type', 'text/javascript'); 
jQueryScript.setAttribute('src', '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); 
head.appendChild(jQueryScript); 
1

@ emrox là câu trả lời đúng và hoạt động cho hoa nhài 2.0.

Tuy nhiên trong hoa nhài 2.1.3 thì không. Điều này là do thực tế là khi các thử nghiệm được chạy (tôi đang sử dụng Chutzpah) "http:" không được định trước cho tham chiếu CDN. Đó là trong phiên bản 2.0 của hoa nhài.

Việc sửa chữa tôi thực hiện mà làm việc liên quan đến các dòng mã sau đây:

jQueryScript.setAttribute ('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');

Hy vọng điều này sẽ giúp ai đó trước khi họ quyết định hạ cấp xuống 2.0!

0

Phát hành 135 để bạn có thể liệt kê các mục nhập CDN trong tệp jasmine.yml của mình. ví dụ.

src_files: 
    - http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js 
    - http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js 
    - lib/javascript/**/*.js 
Các vấn đề liên quan