tutorial - Bower y devDependencias vs dependencias
bower vs npm (1)
devDependencies
son para los scripts relacionados con el desarrollo, por ejemplo, pruebas unitarias, scripts de empaquetado, generación de documentación, etc.
se requieren dependencies
para el uso de producción, y se supone necesario también para el desarrollador.
Incluir devDependencies
dentro de las dependencies
, como lo tiene, no será perjudicial; el módulo simplemente juntará más archivos (bytes) durante la instalación, consumiendo más recursos (innecesarios). Desde un punto de vista purista, estos bytes adicionales podrían ser perjudiciales, solo depende de su perspectiva.
Para arrojar algo de luz, devDependencies
bower help install
devDependencies
, los módulos enumerados en devDependencies
se pueden omitir durante la instalación del módulo a través de -p
o --production
, por ejemplo:
bower install angular-latest --production
Esta es la forma recomendada de realizar una instalación para cualquier otra cosa que no sea una plataforma de desarrollo.
Por el contrario, no hay forma de omitir los módulos enumerados en dependencies
.
A partir de [email protected] (consulte la última fuente de bower ), bower help
generar:
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.
y además, bower help install
rendimientos (ver última fuente ):
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.
Corrí ''yo angular'' y me di cuenta después de que instala 1.0.8, desinstalé los componentes angulares, sin embargo, el archivo bower.json original tenía mofletes angulares y escenario angular en ''devDependencies'' cuando re-agrego todo el 1.2. 0-rc.2 componentes angular-mocks y angular-scenario bajo dependencias en lugar de devDependencies.
Tengo curiosidad sobre cómo se usa devDependencies y si debería molestarme en arreglarlo manualmente o dejarlo como está. ¿Hay alguna manera de especificar en la CLI de bower cómo marcar algo como una dependencia de desarrollo?
Después de editar el archivo:
{
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: { }
}
Antes de las ediciones:
{
"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"
}
}