2016-01-13 16 views
6

Tôi có ứng dụng Aurelia và trong app.js tôi muốn sử dụng jQuery.Sử dụng jQuery với Aurelia

Vì vậy config.js của tôi trông giống như:

System.config({ 
... 
    map: { 
    ... 
    "jquery": "npm:[email protected]", 
    ... 
    } 
} 

Và trong app.js tôi nhập khẩu các jQuery như thế này:

var $ = require('jquery'); 

Nhưng khi tôi yêu cầu nó, tôi nhận được trang web trống. Cùng với nhập:

import $ from 'jquery'; 

Điều gì là sai?

Cảm ơn

EDIT: ok, được giải quyết. Vấn đề là, mã jQuery phải được gọi bên trong mehtod đính kèm(). Vì vậy, như thế này:

export class Class1 { 
    attached() { 
     //jQuery code here 
    } 
} 

Trả lời

1

jquery được cài đặt trong \ jspm_packages \ github \ components (ít nhất trong trường hợp của tôi). Nếu đây là trường hợp của bạn, bạn nên sử dụng:

System.config({ 
... 
    map: { 
    ... 
    "jquery": "github:components/[email protected]", 
    ... 
    } 
} 

Liên kết đến Example in plunker.

+0

Ok, nhưng làm thế nào để nhập nó vào bộ điều khiển? Tại sao không phải là var $ = require ('jQuery'); đang làm việc? –

+1

Tôi không chắc chắn với 'var $ = require ('jquery')' (hãy cẩn thận: jquery, không phải jQuery) nhưng [ở đây] (http://plnkr.co/edit/RN8JjXlxCrUegsaCbvJ7?p=preview) là một liên kết đến một phiên bản làm việc với 'import $ from 'jquery';' – DaniCE

5

Chỉ cần khác! Chúng tôi sử dụng jQuery và tôi đã thử thêm nó thông qua config.js và sử dụng nhập khẩu vv - mà làm việc ok. Nhưng chúng tôi cũng sử dụng một vài thư viện js mà chúng tôi tải bằng cách sử dụng thẻ tập lệnh trong trang html chính và các yêu cầu này phải có jquery. Tôi đã thử tải chúng bằng cách sử dụng nhập quá nhưng chúng không thực sự được thiết kế cho nó và nó quá phức tạp nên cuối cùng chúng ta chỉ làm cho cuộc sống trở nên rất đơn giản:

thẻ script cho jquery trong trang html chính
thẻ script từ thư viện js của bên thứ ba trong trang html chính

hoàn thành công việc!

Nó cũng có lợi ích tiềm năng là có thể tải cả jquery và thư viện từ CDN nếu bạn muốn.

Có thể mất lợi ích khi tải mô-đun thông qua nhập nhưng chúng tôi sử dụng cả jquery và libs khác trong ứng dụng nên chúng tôi không thực sự thua và tôi không phải nhớ nhập chúng khi tạo mô-đun mới :-)

Các vấn đề liên quan