Tôi sử dụng thành phần select2 dựa trên jQuery trong dự án AngularJS của tôi. Tôi có vấn đề tương tự như những kẻ ở đây: https://github.com/fronteed/icheck/issues/322, và giải quyết nó bằng cách sử dụng lời khuyên từ đó. Để chính xác, tôi đã nhận được lỗi TypeError: $(...).select2 is not a function
khi không sử dụng lời khuyên đó.Làm thế nào để bao gồm jQuery đúng trong cli góc 1.0.0-rc.0?
tức là tôi đã thêm các dòng tiếp theo vào cấu hình Webpack trong @angular/cli/models/webpack-configs/common.js
.
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]
Đây có phải là cách tốt nhất để kích hoạt jQuery trong góc/cli?
Tôi không nghĩ rằng làm tương tự như trong https://github.com/angular/angular-cli/wiki/stories-global-lib là cách chính xác, bởi vì
a) webpack bó jQuery mà không cần phải xác định nó trong kịch bản
b) nó vẫn ném TypeError: $(...).select2 is not a function
lỗi khi bạn bao gồm nó như được mô tả trong câu chuyện.
Vấn đề là khi bạn sử dụng một số thư viện mở rộng toán tử jQuery (như select2), bạn không thể sử dụng nó. Bạn kết thúc với lỗi '$ (...). Select2', vì' select2' không được biết thuộc tính của $ (hoặc jQuery sau khi bạn nhập). – metamaker
Bạn đã cài đặt định nghĩa kiểu cho thư viện select2 chưa. Sau khi cài đặt nhập định nghĩa loại select2 trong thành phần của bạn. – HirenParekh
Định nghĩa kiểu không làm gì với việc thêm thuộc tính select2 vào đối tượng jQuery toàn cầu. Tôi đã có thể giải quyết vấn đề của mình bằng cách sử dụng 'ng eject'. Cảm ơn vì nỗ lực của bạn, dù sao đi nữa! – metamaker