stc*_*cho 6 npm angularjs gruntjs yeoman bower
这是我第一次开发AngularJS应用程序并使用脚手架工具Yeoman(http://yeoman.io/).我想用fontawesome作为我的一些图标(http://fortawesome.github.io/Font-Awesome/),我知道我应该使用命令
bower install fontawesome
Run Code Online (Sandbox Code Playgroud)
但是,我也看到了这篇文章(https://www.npmjs.org/package/grunt-font-awesome-vars),它讨论了下面的npm grunt install命令
npm install grunt-font-awesome-vars --save-dev
Run Code Online (Sandbox Code Playgroud)
那有什么区别?关于各种工具如何工作和流动,我仍然有点模糊.任何Yeoman专家都可以给我一个低位,什么时候使用bower安装,npm安装和grunt命令,所以我会清楚地知道差异并理解流程?谢谢.
K. *_*tes 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
Run Code Online (Sandbox Code Playgroud)
凉亭不需要咕噜声.咕噜声不需要凉亭.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
Run Code Online (Sandbox Code Playgroud)
将安装grunt-font-awesome-vars 以及使用devDependency更新package.json(--save-dev标志这样做),以便在您执行时自动安装它
npm install
Run Code Online (Sandbox Code Playgroud)
如果您将该命令更改为
npm install grunt-font-awesome-vars -g
Run Code Online (Sandbox Code Playgroud)
它会将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 ...它们做同样的事情)标志.