- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我第一次开发 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 install、npm install 和 grunt 命令,以便我清楚地了解差异并理解流程?谢谢。
最佳答案
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
bower 不需要咕噜声。 grunt 不需要 bower 。 grunt 不需要 grunt-font-awesome-vars 但 grunt-font-awesome-vars 需要 grunt。
根据我的工作流程,我使用 npm 来管理我想通过 grunt 自动化的包依赖项。我使用 Bower 来管理客户端依赖项的版本。
当有人问起 Bower 和 npm 之间的区别时,我会想到“Yo, Dawg”来形容它。
"Yo, Dawg. We heard you really like packages so we installed a package manager inside your package manager."
基本上,bower 只是另一个包管理器。它与 npm(这是一个单独的包管理器)一起安装
我使用 npm 来管理工具和服务器依赖项(例如 grunt、grunt 模块、sass 等...我可能想要自动化的东西),并使用 Bower 来管理功能性、客户端特定依赖项(例如Angular、jquery 等...我可能想要与当前版本保持同步的东西)
通过 Bower 安装将使用您的 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 系统变量指示)并可供所有节点实例使用。
Asked: Also, why is there the need to have the install command as '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-server 可执行文件必须位于您要运行它的目录中。我全局安装它,这样我就不必再次“npm install”它。大多数您想要与项目打包的事情都可以使用 --save 标志而不是 -g (或 --global ...它们做同样的事情)标志来完成。
关于angularjs - Yeoman Bower 安装 vs npm 安装 vs grunt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915899/
是否有在非 AngularJS 页面内初始化 AngularJS 应用程序的最佳实践方法?我正在向现有网页添加新功能,需要传入一个参数。具体来说,有一组选项卡,一个新选项卡将启动一个 Angular
找不到这两者之间的区别。 保留其中任何一个来引导我的 Angular 应用程序是否有意义? angular.bootstrap(document,['myApp']); 或者 angularAMD.b
我试图理解 Packpub 的书附带的示例 AngularJS 应用程序。 app.js文件在 client/src/app 下定义文件夹,它的模块定义看起来像 angular.module('app
Angularjs 具有用于表单验证和显示错误消息的强大基础设施。但是,我处于必须在特定场景中向用户显示警告消息的情况。这是我的简单表格的图表 该表单在两个字段上都应用了必需和模式验证。除了此验证之外
我在重试功能正常工作时遇到了一些麻烦,希望能获得一些帮助。我有一个要调用的$ resource,直到出现成功情况或超过最大重试次数为止。 我似乎遇到的问题是,在我的重试函数中,我正在调用另一个prom
我目前正在开发一个 AngularJS 应用程序,我遇到了以下障碍。 当用户提交时,我们有一个 login 页面,我们调用一个 web api 并对用户进行身份验证,我们目前正在使用 claims 身
当范围更新时,指令的属性不会改变,它们仍然保持初始值。我在这里缺少什么? HTML works great works: {{foo}} Javascript (基于首页上的 A
我正在使用 Zurb 的 Foundation 框架修改应用程序以实现响应性和 AngularJS。存在数据显示在带有 ... 的表中的错误有 是根据 Foundation 的响应规则隐藏/显示的。不
在过去的三天里,我一直在搜寻互联网,试图弄清楚当angular注意到div的宽度发生变化时如何使指令运行。 我不断看到相同的示例,说明如何实现此目标,但是它们对我不起作用,我也不知道为什么。 我回到一
我正在使用以下代码尝试汇总 在 Angular ,这在整个作品中,但是小于 0.5 的数字四舍五入为 0。我想 向上取整 每个数字到下一个整数。例如 0.02 应四舍五入为 1 {{((data.Vi
我目前正在尝试以一种能够适当扩展到企业级别的方式来组织我的 Angular 应用程序。但是我发现似乎过度依赖框架内的命名约定,并且试图避免命名冲突是一个真正的问题。 例如,当定义任何 constant
我正在阅读 AngularJS 基础知识,并且喜欢在我的页面中使用它的绑定(bind)功能。所以我可以定义可以在 View 中显示的数据,可以对数据进行更改,以便在 View 中更改它而无需担心。 在
在父 Controller 范围内,我定义了 selectedItem设置为“x”。然后在子范围内,我定义了selectedItem使用 ngModel:
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
如果2个条件为真,我试图将一个特定的类应用于li元素,因此我编写了以下代码,但似乎无法正常工作 ng-class="{current:isActive('/'), loginStatus: false
请看看朋克。 http://plnkr.co/edit/DuTFYbLVbPkCIvRznYjG?p=preview ng-pattern regEx不适用于输入文本字段。 仅在需要验证的情况下才能正
我正在为iOS + Android构建AngularJS(1.x)和Ionic/Cordova移动应用程序。我想在登录页面上添加/创建“深层链接”,以便在我向新用户发送“确认您的电子邮件”电子邮件时,
angularjs 中服务(或工厂)的生命周期是什么,何时重新初始化? 最佳答案 当 Angular 启动时,它会将服务的构造函数附加到关联的模块上。这种情况发生一次。 angular .modu
我对 Angular 很陌生,所以希望我知道的足够多,可以问什么似乎是合理的设计问题。 我正在通过 Angular 绘制一些数据,并且正在使用 $resource。在将 Angular 引入项目之前,
我需要在我的 angular-breeze 应用程序中使用国家/地区下拉菜单,我尝试了以下操作: https://github.com/banafederico/angularjs-country-s
我是一名优秀的程序员,十分优秀!