Bower и devDependencies против зависимостей
Я запустил "Yo angular" и понял впоследствии, что он устанавливает 1.0.8, я удалил угловые компоненты, однако оригинальный bower.файл json имел угловые насмешки и угловой сценарий под "devDependencies", когда я повторно добавляю все 1.2.0-rc.2 компоненты угловой-глумится и угловые-сценарий под зависимости, а не в разделе devDependencies.
мне любопытно, как используется devDependencies, и если я должен потрудиться вручную исправить его или оставить как есть. Есть ли способ указать на bower CLI как пометить что-то как зависимость от 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"
}
}
1 ответ:
devDependencies
предназначены для сценариев, связанных с разработкой, например, модульного тестирования, сценариев упаковки, создания документации и т. д.
dependencies
необходимы для использования в производстве, а также предполагаются необходимыми для dev.в том числе
devDependencies
внутриdependencies
, как у вас есть, не будет вредно; модуль будет просто связывать больше файлов (байт) во время установки - потребляя больше (ненужных) ресурсов. От пуристского POV эти дополнительные байты могут быть вредными, просто зависит с твоей точки зрения.чтобы пролить свет, Глядя на
bower help install
, модули, перечисленные в разделеdevDependencies
можно опустить во время установки модуля через-p
или--production
, например:bower install angular-latest --production
это рекомендуемый способ установки ничего кроме платформы разработки.
напротив, нет никакого способа опустить модули, перечисленные в разделе
dependencies
.
по состоянию на bower@1.2.7 (см. bower последний источник),
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
доходность (см. последний источник):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.