2013-10-12 8 views
152

Uruchomiłem "yo kątowe" i później zorientowałem się, że instaluje się 1.0.8, odinstalowałem komponenty kątowe, jednak oryginalny plik bower.json miał makiety kątowe i scenariusz kątowy pod "zależnościami dewizowymi", gdy Ponownie dodaję wszystkie komponenty 1.2.0-rc.2 kątowe i scenariusz kątowy w zależnościach od zależności.Bower i devDependencies vs dependencies

Ciekawi mnie, w jaki sposób korzysta się z DevDependencies i czy powinienem zawracać sobie głowę ręcznym ustawianiem go lub pozostawieniem bez zmian. Czy istnieje sposób na określenie w CLI bower, jak oznaczyć coś jako zależność od dev?

Po modyfikacje file:

{ 
    name: "Angular", 
    version: "0.0.0", 
    dependencies: { 
     json3: "~3.2.4", 
     jquery: "~1.9.1", 
     bootstrap-sass: "~2.3.1", 
     es5-shim: "~2.0.8", 
     angular-mocks: "1.2.0-rc.2", 
     angular-sanitize: "1.2.0-rc.2", 
     angular-resource: "1.2.0-rc.2", 
     angular-cookies: "1.2.0-rc.2", 
     angular: "1.2.0-rc.2", 
     angular-scenario: "1.2.0-rc.2" 
    }, 
    devDependencies: { } 
} 

Przed edycje:

{ 
    "name": "Angular", 
    "version": "0.0.0", 
    "dependencies": { 
     "angular": "~1.0.7", 
     "json3": "~3.2.4", 
     "jquery": "~1.9.1", 
     "bootstrap-sass": "~2.3.1", 
     "es5-shim": "~2.0.8", 
     "angular-resource": "~1.0.7", 
     "angular-cookies": "~1.0.7", 
     "angular-sanitize": "~1.0.7" 
    }, 
    "devDependencies": { 
     "angular-mocks": "~1.0.7", 
     "angular-scenario": "~1.0.7" 
    } 
} 

Odpowiedz

267

devDependencies są dla scenariuszy rozwojowych, np testy jednostkowe, skrypty pakowania, generowanie dokumentacji itp.

dependencies są wymagane do celów produkcyjnych i są wymagane również w przypadku dev.

W tym devDependencies w ramach dependencies, jak już masz, nie będzie szkodliwe; moduł po prostu spakuje więcej plików (bajtów) podczas instalacji - zużywając więcej (niepotrzebnych) zasobów. Z purystycznego POV te dodatkowe bajty mogą być szkodliwe, tylko zależy od twojej perspektywy.

rzucić pewne światło, patrząc na bower help install moduły wymienione w devDependencies może zostać pominięty podczas instalacji modułu poprzez -p lub --production, np:

bower install angular-latest --production 

Jest to zalecany sposób, aby wykonać instalację do niczego innego niż platforma programistyczna.

Wręcz przeciwnie, nie ma możliwości pominięcia modułów wymienionych w pozycji dependencies.


Na [email protected] (patrz bower latest source) bower help Wynik:

Usage: 

    bower <command> [<args>] [<options>] 

Commands: 

    cache     Manage bower cache 
    help     Display help information about Bower 
    home     Opens a package homepage into your favorite browser 
    info     Info of a particular package 
    init     Interactively create a bower.json file 
    install     Install a package locally 
    link     Symlink a package folder 
    list     List local packages 
    lookup     Look up a package URL by name 
    prune     Removes local extraneous packages 
    register    Register a package 
    search     Search for a package by name 
    update     Update a local package 
    uninstall    Remove a local package 

Options: 

    -f, --force    Makes various commands more forceful 
    -j, --json    Output consumable JSON 
    -l, --log-level   What level of logs to report 
    -o, --offline   Do not hit the network 
    -q, --quiet    Only output important information 
    -s, --silent   Do not output anything, besides errors 
    -V, --verbose   Makes output more verbose 
    --allow-root   Allows running commands as root 

See 'bower help <command>' for more information on a specific command. 

a ponadto bower help install poziomie (patrz latest source)

Usage: 

    bower install [<options>] 
    bower install <endpoint> [<endpoint> ..] [<options>] 

Options: 

    -F, --force-latest  Force latest version on conflict 
    -h, --help    Show this help message 
    -p, --production  Do not install project devDependencies 
    -S, --save    Save installed packages into the project's bower.json dependencies 
    -D, --save-dev   Save installed packages into the project's bower.json devDependencies 

    Additionally all global options listed in 'bower help' are available 

Description: 

    Installs the project dependencies or a specific set of endpoints. 
    Endpoints can have multiple forms: 
    - <source> 
    - <source>#<target> 
    - <name>=<source>#<target> 

    Where: 
    - <source> is a package URL, physical location or registry name 
    - <target> is a valid range, commit, branch, etc. 
    - <name> is the name it should have locally. 
+0

To całkowicie usunięte to. Wielkie dzięki – Gary

+0

jest sposób na to, aby altanka automatycznie usunęła niepotrzebne pliki deps po usunięciu ich z pliku bower.json? – FutuToad

+1

@FutuToad, nie próbowałem go, ale "aktualizacja bower" (aby uzyskać najnowszą wersję ze starymi usuniętymi deps), a następnie "altówka bower" (usuwa zewnętrzne pakiety lokalne) może załatwić sprawę. – zamnuts