首页 文章

Yeoman bower安装vs npm install vs grunt

提问于
浏览
6

这是我第一次开发AngularJS应用程序并使用脚手架工具Yeoman(http://yeoman.io/) . 我想对我的一些图标使用fontawesome(http://fortawesome.github.io/Font-Awesome/),我知道我应该使用命令

bower install fontawesome

但是,我也看到了这篇文章(https://www.npmjs.org/package/grunt-font-awesome-vars),它讨论了下面的npm grunt install命令

npm install grunt-font-awesome-vars --save-dev

那有什么区别?关于各种工具如何工作和流动,我仍然有点模糊 . 任何Yeoman专家都可以给我一个低位,什么时候使用bower安装,npm安装和grunt命令,所以我会清楚地知道差异并理解流程?谢谢 .

1 回答

  • 14

    Grunt 是一个任务自动化工具,开箱即用 . 它通过插入执行特定任务的grunt模块完成大部分工作 .

    grunt-font-awesome-vars 是grunt的模块(没用grunt没用)

    bower 是包管理器 .

    npm 是包管理器 .

    (我不使用Yeoman . 它是一个用于设置项目结构的脚手架工具 . 我不同意它对应该去哪里的意见,所以我不会愚弄它 . 我手动配置grunt和bower)

    又快又脏:

    用npm安装节点 . 然后从您的控制台(VS2013的开发人员命令提示符,Bash或您使用的任何内容)运行以下命令

    npm install grunt --save
    npm install bower --save
    npm grunt-font-awesome-vars --save
    

    凉亭不需要咕噜声 . 咕噜声不需要凉亭 . grunt不需要grunt-font-awesome-vars但grunt-font-awesome-vars需要grunt .

    通过我的工作流程,我使用npm来管理我想用grunt自动化的包依赖项 . 我使用bower来管理我的客户端依赖项的版本 .

    更多信息:

    当有人问起它和npm之间的区别时,会有一个“Yo,Dawg”来描述凉亭 .

    “哟,Dawg . 我们听说你真的很喜欢软件包,所以我们在软件包管理器中安装了一个软件包管理器 . ”

    基本上,bower只是另一个包管理器 . 它与npm一起安装(这是一个单独的包管理器)

    我使用npm来管理工具和服务器依赖(比如grunt,grunt模块,sass等等......我可能希望自动化的东西)和bower用于功能性的,特定于客户端的依赖项(如angular,jquery等等...我可能想与最新版本保持同步)

    通过凉亭安装将使用您的bower.json . 通过npm安装将使用你的package.json .

    npm install grunt-font-awesome-vars --save-dev
    

    将安装grunt-font-awesome-vars以及使用devDependency更新package.json(--save-dev标志这样做),以便在您执行时自动安装它

    npm install
    

    如果您将该命令更改为

    npm install grunt-font-awesome-vars -g
    

    它会将grunt-font-awesome-vars安装到您的节点安装位置(由您的PATH系统变量指示)并可供所有节点实例使用 .

    编辑以回答评论中的问题

    问:另外,为什么需要将install命令设置为'grunt-font-awesome-vars -g'

    grunt-font-awesome-vars是部署为节点包的grunt模块的名称 . 使用“npm install”命令安装grunt模块 . -g是一个标志,指示npm将请求的包安装到全局空间,方法是通过PATH变量使其可用 . 我目前在全球安装的唯一东西是http-server,bower和karma . 如果您没有全局安装软件包,那么您必须在当前工作目录中执行该软件包的“npm install”才能执行该软件包的命令 . 例如,http-server是一个节点模块,并且像任何其他控制台应用程序一样执行命令行 . 在这种情况下,命令“http-server”将在您想要为站点提供服务的任何地方启动本地http服务器 . 如果我将它安装到我的PATH,我可以从任何我想要的地方运行http-server而无需做任何特别的事情 . 如果不将其安装到PATH,则http服务器可执行文件必须位于要运行它的目录中 . 我全局安装它,所以我再也不用“npm install”了 . 大多数事情你想要与你的项目打包,你可以使用--save标志而不是-g(或--global ...它们做同样的事情)标志 .

相关问题