Używam komponentu select2 opartego na jQuery w moim projekcie AngularJS. Miałem podobny problem, jak tutaj: https://github.com/fronteed/icheck/issues/322, i rozwiązałem go, korzystając z porady tam. Aby być dokładnym, otrzymałem błąd TypeError: $(...).select2 is not a function
, gdy nie korzystałem z tej porady.Jak poprawnie włączyć jQuery w kanciastym cli 1.0.0-rc.0?
tj. Dodałem kolejne linie do konfiguracji Webpacka w @angular/cli/models/webpack-configs/common.js
.
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]
Czy to najlepszy sposób na włączenie jQuery w kanciastym/cli?
Nie sądzę, że robi tak samo jak w https://github.com/angular/angular-cli/wiki/stories-global-lib jest poprawny sposób, ponieważ
a) WebPack wiązki jQuery bez konieczności podać go w skryptach
b) wciąż rzuca TypeError: $(...).select2 is not a function
błąd podczas m.in. to jak opisano w opowiadaniu.
Problem polega na tym, że używasz biblioteki rozszerzającej operatora jQuery (jak select2), której nie możesz użyć. W efekcie otrzymujemy błąd "$ (...). Select2', ponieważ' select2' nie jest znaną właściwością $ (lub jQuery po imporcie). – metamaker
Czy zainstalowałeś definicję typu dla biblioteki select2. Po zainstalowaniu definicji typu importuj select2 w swoim komponencie. – HirenParekh
Definicje typów nic nie robią z dodawaniem właściwości select2 do globalnego obiektu jQuery. Byłem w stanie rozwiązać mój problem za pomocą 'ng eject'. Dzięki za twój wysiłek! – metamaker