2014-07-11 8 views
10

Bazı kısa arkaplan: Bir web uygulaması oluşturmak için browserify ve browserify-shim (ve oluşturmak için gulp) kullanıyorum. Bu konudan önce, npm'den itibaren jpegde require idi, bu yüzden sorunum olmadı. Biraz optimizasyon yapmaya başladığımda, paketin jQuery ile ne kadar büyük olduğunu anladım. Şimdi jQuery'yi bir CDN'den komut dosyası etiketiyle alıp bundle.js dosyasından önce yerleştiriyorum. Ama jQuery'yi global olarak ilan etme ve jQuery eklentilerini browserify ve browserify-shim'de düzgün bir şekilde kesme konusunda sorunlarım var. Ben inşa etmek yudum çalıştırdığınızda, aynı hata almaya devam: Bu browserify-şim küresel olma jQuery üzerinde cevap vermiyor gibi görünüyorjQuery Eklentileriyle Browserify Kullanma

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

.

Başvuru için inview plugin kullanıyorum.

Burada alakalı parçalarla benim package.json var

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

bana hatayı tanımlanmasına yardımcı olması için içerebilir başka ne bildirin.

+4

Ters yöne gitmeyi merak ediyorum. Npm'den ('jquery') 'istediğin zaman, global olarak bunu nasıl ortaya koydun ki eklentiler hala işe yaradı? –

+0

Dünyayı npm'den yüklediğimde göstermedim. Browserify-shim içindeki jquery değeri $ veya jQuery olur. Sonra jQuery'ye bağlı tüm eklentileriniz, jquery'ye bağlı alan listesiyle aşağıda listelenir. –

cevap

6

Yalnızca jQuery'ye bağlıysa, her jQuery eklentisini browserify-shim altında bildirmeniz gerekmez. Sadece giriş girişini sildim ve her şey iyi çalışıyor.