2013-10-12 3 views
152

Я побежал «yo angular» и понял после этого, что он устанавливает 1.0.8, я удалил угловые компоненты, однако исходный файл bower.json имел угловые макеты и угловой сценарий в разделе «devDependencies», когда Я повторно добавляю все составляющие 1.2.0-rc.2 угловые-mocks и угловой сценарий в зависимости от зависимостей вместо devDependencies.Bower and devDependencies vs dependencies

Мне любопытно, как используются devDependencies, и если я должен позаботиться о его ручной фиксации или оставить как есть. Есть ли способ указать на CLI Bower, как отметить что-то как зависимость dev?

После редактирования файла:

{ 
    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: { } 
} 

Перед правок:

{ 
    "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" 
    } 
} 

ответ

267

devDependencies предназначены для разработки сценариев, связанных, например модульные испытания, сценарии упаковки, генерация документации и т. д.

dependencies необходимы для использования в производстве и считаются необходимыми для девелоперов.

Включая devDependencies в пределах dependencies, как у вас есть, не будет вредным; модуль будет просто связывать больше файлов (байтов) во время установки, потребляя больше (ненужных) ресурсов. Из пуристического POV эти дополнительные байты могут быть вредными, просто зависит от вашей перспективы.

Чтобы пролить некоторый свет, глядя на bower help install, модули, перечисленные в devDependencies могут быть опущены во время установки модуля с помощью -p или --production, например:

bower install angular-latest --production 

Это рекомендуемый способ выполнить установку для любых других чем платформа разработки.

Напротив, нет способа опустить модули, перечисленные ниже dependencies.


По [email protected] (см bower latest source) bower help урожайности:

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. 

и далее, bower help install урожайности (см 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

Это полностью очищена это вверх. Большое спасибо – Gary

+0

Есть ли способ получить беседу для автоматического удаления ненужных депо, когда вы удаляете их из bower.json? – FutuToad

+1

@FutuToad, я не пробовал, но «bower update» (чтобы получить последнюю версию с удаленными старыми папками), а затем «bower prune» (удаляет посторонние локальные пакеты), может сделать трюк. – zamnuts

Смежные вопросы