2014-05-16 16 views
29

ben UÖM'sine kutunun dışında kullanılamaz paketleri kullanıyorum yolu, şu anda böyledir:Browserify ve bower. Kanonik yaklaşım

"napa": { 
    "angular": "angular/bower-angular", 
    "angular-animate": "angular/bower-angular-animate", 
    "d3": "mbostock/d3", 
    "ui-router":"angular-ui/ui-router", 
    "bootstrap":"twbs/bootstrap" 
    }, 
    "scripts": { 
    "install": "node node_modules/napa/bin/napa" 

ve bu node_modules dizine dosyaları yükler:

package.json vardır ve ben çalışan bu

require('angular/angular') 
require('ui-router') 
... etc 

gibi doğal bunları kullanmak, ancak kulübeye ile yüklenen paketleri kullanmak mümkün mü (kameriye özgü klasör içine) düşünüyordum ve düğüm modül olarak doğal bunları kullanmak? Düğümün modül çözünürlüğünü ayarlamak ve sadece node_modules dizininde değil, aynı zamanda bower dizininde de modülleri aramaya zorlamak mümkün mü? Ya da belki npm link veya neyi kullanıyorsunuz?

Geziciyi tarayıcı ile kullanmak için bir çeşit kural var mı?

+0

Neden sunucuda açısal kullanırsınız? Yoksa tarayıcıda görünen bu mu? –

+0

Çok insighfull –

cevap

23

Sen browserify-shim kullanabilir ve bunun gibi package.json senin içinde Bower yüklenmiş modüller yapılandırabilirsiniz: Düzenli npm modülleri varmış gibi

"browser": { 
    "angular": "./bower_components/angular/angular.js", 
    "angular-resource": "./bower_components/angular-resource/angular-resource.js" 
}, 
"browserify-shim": { 
    "angular": { 
    "exports": "angular" 
    }, 
    "angular-resource": { 
    "depends": ["./bower_components/angular/angular.js:angular"] 
    } 
}, 

Sonra kod kısa adıyla bunları require edebilirsiniz.

Here is the spec for the "browser" package.json property.

+2

sadece "tarayıcı" bölümündeki her şeyi ayarlıyor gibi görünüyor (browserify-shim'i kurmadan bile) ... Şimdi soru: tarayıcı bölümünde joker karakterleri destekliyor musunuz? yapabilir miyiz: "tarayıcı": {"*": "./ bower_components /"}. Ya da her bir paket açıkça listelenmeli mi? – Agzam

+0

Joker karakter desteği bana göre pek olası görünmüyor, ancak deneyin. –

41

Sen debowerify

yoluyla yüklemeye çalışabilirler sonra da görünebilir package.json aşağıdaki gibidir: js dosyası içinde Sonra

bower install angular 

ile birlikte yüklenir açısal Verilen

{ 
    "name": "browserify-begin", 
    "version": "0.0.0", 
    "dependencies": { 
    }, 
    "browserify": { 
    "transform": [ 
     "debowerify" 
    ] 
    }, 
    "devDependencies": { 
    "browserify": "^4.1.5", 
    "debowerify": "^0.7.1", 
    "grunt": "^0.4.5" 
    } 
} 

olacak aşağıdaki gibi olsun:

require("angular"); 
+9

İyi keder, sadece işe yarıyor. –