我是一个后端开发人员,对npm,bower,gulp,grunt和Yeoman感到有些困惑。每当我问某人的目的是什么时,答案往往都归结为依赖管理器-对于他们所有人。当然,我们不需要四个功能相同的工具吗?

有人可以用尽可能少的句子来解释每一个对有什么好处吗-如果可能的话,每个工具只有一个,并使用五岁(具有开发技能)的语言才能理解?

例如:

  • SVN 存储,管理并跟踪对我们的源代码
  • 的更改

    我过去曾经使用过Maven,Jenkins,nexus和ant;也许您可以将上面的工具与这些工具进行比较?

    也可以随时将其他前端工具添加到列表中。

    到目前为止,这是我发现的-尽管不确定它是正确的:
  • bower 用于前端开发/JS库的依赖项管理器,使用平面依赖项列表
  • node.js服务器的
  • npm 依赖性管理器,可以解析可传递的依赖性/依赖性树
  • grunt 运行任务,类似于Jenkins,但是在命令行
  • 上具有局部性
  • Yeoman 提供了脚手架,即骨架项目
  • gulp 与grunt相同,但仅用JS编写
  • 用于js应用程序的
  • node.js 服务器吗?
  • git 分散式SCM/VCS,与svn/cvs
  • 对应

    我靠近吗? :)

    最佳答案

    你近了!
    欢迎使用JavaScript :)

    让我给您一个简短的描述和大多数开发人员花一些时间使用的功能。

    凉亭
    重点介绍浏览器中使用的软件包。每个bower install <packagename>都恰好指向一个要包含的文件(可以下载更多文件)。由于webpack,browserify和babel的成功,它几乎已不再是一流的依赖管理器。

    2018年更新:赞成以NPM弃用鲍尔

    npm
    过去一直专注于NodeJS代码,但已经覆盖了浏览器模块的功能。不要让任何人愚弄你:NPM很大。 NPM还将许多文件加载到您的项目中,新安装的npm始终是冲泡一杯新咖啡的好理由。 NPM易于使用,但由于版本引用方式宽松以及模块发布的任意性,更改环境时可能会破坏您的应用程序。研究Shrink Wrapnpm install --save-exact
    2018更新:NPM长大了!关于安全性和可重复性的许多改进已得到实现。

    咕unt
    促进任务自动化。大嘴大一点的兄弟。 JavaScript社区过去在2014年经常与他闲逛。在某些地方,Grunt已经被认为是遗留物,但是仍然可以找到大量真正强大的自动化。对于较大的用例,配置可能是一场噩梦。 There is a grunt module for that though.

    2018年更新:咕unt声已经过时了。易于编写的webpack配置已将其杀死。

    gulp
    做与咕一样的事情,但速度更快。

    npm运行脚本
    您可能根本不需要任务执行器。 NodeJS脚本真的很容易编写,因此大多数用例都允许自定义任务自动化工作流。使用npm run-script从package.json文件的上下文中运行脚本

    Webpack
    不要错过webpack。特别是如果您对将JavaScript编写为一致的模块化代码的多种方式感到迷茫。 Webpack将.js文件打包到模块中,而且效果出色。 Webpack具有高度可扩展性,并且还提供了良好的开发环境:webpack-dev-server
    babel结合使用可获得迄今为止最好的JavaScript体验。

    Yeoman
    脚手架。对于具有不同背景的团队而言,这非常有值(value),因为它为您的项目架构提供了可控的共同基础。甚至还有一个scaffolding for scaffolds

    10-07 19:35
    查看更多