我开始使用这些工具,并且仍然在理解它们的元依赖性。
正如我看到Yeoman,它是npm的客户端,有一些"向导"能力。它已经安装了所用生成器的依赖项。 Bower使用和需要的原因,地点和方式如何?为什么Yeoman在使用npm时需要另一个包系统?
我知道通常npm用于服务器端代码,Bower用于客户端代码(但仍然在服务器上,browserify用于客户端)。
npm和Bower都是包管理系统。对? 那么为什么Yeoman使用两个不同的包管理系统而不是坚持一个?
示例:我想为我的团队创建一组模板和组件,以便能够根据常见的结构,样式等快速构建网站。
在这种情况下,发电机完全符合要求。这将是一个非常愚蠢的生成器,基本上只是导入正确的文件夹中的文件。它不会改变开发人员的流程。
答案 0 :(得分:1)
这只是一个自以为是的决定,引用Yeoman's:
通过我们的官方发电机,我们推广" Yeoman工作流程" 。这个工作流程一个健壮且富有洞察力的客户端堆栈,包含工具和框架,可以帮助开发人员快速构建漂亮的Web应用程序。
Bower仅适用于front end components management:
它为前端程序包管理问题提供了一种通用的,不受任意影响的解决方案,同时通过可以由更具意见的构建堆栈使用的API公开包依赖关系模型。没有系统范围的依赖关系,不同应用程序之间不共享依赖关系,依赖关系树是平的。
修改强> 引用@ jlafay的评论:
...由于url的最大长度,它的依赖结构保持更平坦,更适合网页。 npm依赖项可以具有子依赖项,并且它们倾向于将这些子依赖项嵌套在它们各自的父目录中。
答案 1 :(得分:0)
Yeoman 使用Bower,因为它是网络的包管理器,可让您轻松管理项目的依赖关系。
Yeoman需要Bower的依赖项,例如JavaScript,图像或CSS,它们不包含在npm中(为节点,服务器端应用程序安装包)