Bower 和 devDependency 与依赖关系

我运行了“ yo angle”,然后意识到它安装了1.0.8,我卸载了 angle 组件,然而,当我重新添加所有1.2.0-rc.2组件时,Bower.json 文件在“ devDependency”下有 angle-moks 和 angle-Scenation,而不是在 devDependency 下。

我很好奇 devDependency 是如何使用的,以及我是否应该费心手动修复它或保持原样。有没有一种方法可以在 bower CLI 上指定如何将某些内容标记为开发依赖项?

编辑后的文件:

{
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"
}
}
80995 次浏览

devDependencies适用于与开发相关的脚本,例如单元测试、打包脚本、文档生成等。

dependencies是生产使用所必需的,并假定也是开发所必需的。

如您所知,在 dependencies中包含 devDependencies不会有害; 模块只是在安装过程中捆绑更多的文件(字节) ,消耗更多(不必要的)资源。从纯粹主义的观点来看,这些额外的字节可能是有害的,这取决于您的观点。

为了说明一些问题,看看 bower help install,在 devDependencies下面列出的模块可以在模块安装过程中通过 -p--production省略,例如:

bower install angular-latest --production

这是为开发平台以外的任何东西执行安装的推荐方法。

相反,没有办法省略在 dependencies下列出的模块。


截至 Bower@1.2.7(见 鲍尔最新消息来源) ,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.