当前位置: 首页 > 面试题库 >

Bower和npm有什么区别?

曾元忠
2023-03-14
问题内容

bower和之间的根本区别是npm什么?只需要简单明了的东西。我已经看到一些同事在他们的项目中使用bowernpm互换使用。


问题答案:

所有程序包管理器都有许多缺点。您只需要选择可以与之共存的地方即可。

History

npm开始管理node.js模块(这就是node_modules默认情况下会放入软件包的原因),但是当与Browserify或webpack结合使用时,它也适用于前端。

Bower是专门为前端创建的,因此考虑到了优化

Size of repo

npm比bower大得多,包括通用JavaScript(例如country-data用于国家/地区信息或sorts用于在前端或后端使用的排序功能)的Bower得多。

Bower的包装数量要少得多。

Handling of styles etc

凉亭包括样式等。

npm专注于JavaScript。样式为单独下载或类似的东西需要npm-sasssass-npm

Dependency handling

最大的区别是npm确实嵌套了依赖项(但默认情况下是平坦的),而Bower需要平坦的依赖项树 (这给用户带来了依赖项解决的负担)

嵌套的依赖关系树意味着您的依赖关系可以具有自己的依赖关系,也可以具有自己的依此类推。这允许两个模块要求具有相同依赖性的不同版本,并且仍然可以工作。请注意,从npmv3开始,默认情况下,依赖项树将保持平坦状态(节省空间),并且仅在需要的地方嵌套,例如,如果两个依赖项需要它们自己的Underscore版本。

一些项目同时使用这两种方法,即它们将Bower用于前端软件包,将npm用于开发人员工具,例如Yeoman,Grunt,Gulp,JSHint,CoffeeScript等。



 类似资料:
  • 本文向大家介绍npm i和npm install有什么区别?相关面试题,主要包含被问及npm i和npm install有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 用npm i安装的模块无法用npm uninstall删除,用npm uninstall i才卸载掉 npm i会帮助检测与当前node版本最匹配的npm包版本号,并匹配出来相互依赖的npm包应该提升的版本号 部分npm包在

  • 本文向大家介绍yarn和npm有什么区别?相关面试题,主要包含被问及yarn和npm有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 速度快 。速度快主要来自以下两个方面: 并行安装:无论 npm 还是 Yarn 在执行包的安装时,都会执行一系列任务。npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装。而 Yarn 是同步执行

  • 问题内容: Bower使我可以使用以下语法来指定软件包的版本要求: 但是我无法找到用于的语法。我知道我可以将版本指定为: 大于某个版本 大于或等于版本: 或在一定范围内:。 我也知道有一个通用的语法包含波浪号:。但是我不确定这意味着什么以及它是否与相同。 我也很想知道我是否能够指定多个非连续版本,例如完全大于的加号,等等。 问题答案: 简而言之,Bower版本号(和NPM的)的语法称为SemVer

  • 问题内容: 和之间有什么区别? 我在项目中注意到,有时npm在执行时会开始失败,但是在运行时,它可以正常工作。 如何这两个目标的内部运作,即与不同? 问题答案: 将依赖项安装到您正在处理的节点项目的目录中。您可以调用另一个node.js项目(模块),以将其安装为项目的依赖项。 是的别名,除非您在package.json文件中指定“ build”的作用,否则它什么都不做。它使您可以在将其用于另一个项

  • 我正在使用持续集成,并发现了npm ci命令。 我不知道对我的工作流使用此命令有什么好处。 更快吗?这会让考试变得更难吗,好吗,然后呢?

  • 问题内容: 最近,我尝试使用Yarn安装Node软件包。它运作良好,并且比NPM快得多。纱线自动生成。我们已经有NPM收缩包装()。 它们之间有什么区别吗?是否有过NPM-shrinkwrap.json什么优势? 问题答案: 该文件与其他程序包管理器的锁定文件非常相似,尤其是Rust的Cargo程序包管理器具有。这些锁定文件的想法是代表一组始终有效的软件包。 将依赖关系范围存储在文件中,这意味着当