2014-07-11 7 views
10

Kilka krótkich tematów: Używam trybu przeglądania i przeglądania, aby utworzyć aplikację internetową. Przed tym problemem byłem require ing jquery z npm, więc nie miałem żadnych problemów. Kiedy zacząłem robić jakąś optymalizację, zdałem sobie sprawę, jak masywny był pakiet z zawartością jQuery. Więc teraz łapię jQuery z CDN ze znacznikiem script i umieszczam go przed plikiem bundle.js. Ale mam problemy z deklarowaniem jQuery jako globalnej i właściwie zmieniającej moje wtyczki jQuery w browserify i browserify-shim. Kiedy uruchamiam łyk budować, wciąż otrzymuję ten sam błąd:Korzystanie z Browserify z wtyczkami jQuery

[gulp] gulp-notify: [Compile Error] module "jquery" not found from "/Volumes/Chetan/Users/cshenoy/Projects/urbanstems-node/app/plugins/jquery.inview.js"

Wydaje się browserify-podkładka nie jest podniesienie na jQuery bycie globalnym.

Dla odniesienia używam inview plugin.

Oto mój package.json z odpowiednimi częściami

"browser": { 
    "inview": "./app/plugins/jquery.inview.js" 
}, 
"browserify-shim": { 
    "jquery": "global:jQuery", 
    "inview": { 
    "depends": [ 
     "jquery" 
    ] 
    } 
} 

Daj mi znać, co jeszcze mogę to pomóc zdiagnozować błąd.

+4

Jestem ciekawa, czy iść w przeciwnym kierunku. Kiedy 'require ('jquery')' from npm, jak byłeś w stanie wystawić go globalnie, tak aby wtyczki działały? –

+0

Nie ujawniłem go globalnie, gdy zainstalowałem go z npm. Wartością jquery wewnątrz browserify-shim będzie $ lub jQuery. Następnie wszystkie twoje wtyczki zależne od jQuery będą wymienione poniżej z jQuery z polami zależnymi. –

Odpowiedz

6

Okazuje się, że nie trzeba deklarować każdej wtyczki jQuery pod numerem browserify-shim, jeśli zależy to wyłącznie od jQuery. Właśnie usunąłem wpis inview i wszystko działa dobrze.

Powiązane problemy