之前从Steve Sanderson的博文Architecting large Single Page Applications with Knockout.js中学习了用Yeoman创建Knockout的Single Page Application(SPA)的方法. Yeoman这个Scaffolding工具使用Bower安装各种包(Package). 在生成的SPA的根目录中可以看到.bowerrc文件, 该文件用来对bower进行设置, 如我这里可以看到简单的

{
"directory": "src/bower_modules"
}

它设置了将所有通过bower安装的Package都安装到"src/bower_modules"目录下. 更详细的设置参见Bower Configuration.

SPA根目录中还有一个重要的bower相关的文件 -- bower.json. 该文件记录了通过bower安装的所有Package的信息. 如我这里可以看到

{
"name": "SPA",
"version": "0.0.0",
"private": true,
"dependencies": {
"components-bootstrap": "~3.1.1",
"crossroads": "~0.12.0",
"hasher": "~1.2.0",
"requirejs": "~2.1.11",
"requirejs-text": "~2.0.10",
"knockout": "~3.3.0-alpha",
"knockout-projections": "~1.1.0"
},
"resolutions": {
"knockout": "~3.3.0-alpha"
}
}

当我想安装新的Package的时候就可以通过bower安装. 不过首先要安装好bower. 安装bower可以用Visual Studio自带的NuGet, 不过下面介绍手动安装的方式.

  1. 安装Git.

    访问Git官网, 下载安装文件, 如Git-2.6.3-64-bit.exe, 运行安装. 安装完后, 点击任意文件夹右键菜单中会出现几个和Git相关的按键, 如Git Bash是打开Git的命令行窗口. 在该窗口中输入git --version可以看到相应版本号.
  2. 安装Node.js.

    访问Node.js官网, 下载安装文件, 如node-v5.1.0-x64.msi, 运行安装. 现在打开Git Bash输入node -vnpm -v就可以看到相应的版本号, 说明安装成功.
  3. 安装bower.

    npm install -g bower
  4. 通过bower安装Package.
    1. 在SPA目录的Git Bash中运行bower install后, bower会将bower.json中定义好的Packages安装到.bowerrc指定的目录下.
    2. 要安装新的包时, 如安装fastclick.js, 只需要运行bower install fastclick -S即可. 其中-S指令帮你把新安装的包的信息更新到bower.json, 如果不带这个参数则bower.json不变.

bower初接触的更多相关文章

  1. 初接触BurpLoader工具

    初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...

  2. 软工实践练习-Git初接触

    第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...

  3. vi初接触

    vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...

  4. ExtJS初接触 —— 了解 Ext Core

    ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...

  5. ExtJS初接触 - 在项目中使用ExtJS

    ExtJS初接触 - 在项目中使用ExtJS 今天ExtJS官网发布了ExtJS最新正式版4.2.1.Ext JS 4.2.1 正式版 下载 ExtJS为开发者在开发富客户的B/S应用中提供丰富的UI ...

  6. Java之路——Java初接触

    本文大纲 1.Java是什么 2.Java历史 3.Java技术范围 3.1 Java SE平台技术范围 3.2 Java EE技术范围 3.3 Java 体系技术范围 4.总结 1.Java是什么 ...

  7. python 之 数据类型初接触

    python 之 数据类型初接触 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dicti ...

  8. Dapr微服务应用开发系列2:Hello World与SDK初接触

    题记:上篇介绍了Dapr的环境配置,这次我们来动手尝试一下Dapr应用的开发 Hello World Dapr应用的Hello World其实和其他的Hello World一样简单: 首先用你喜欢的语 ...

  9. ubantu linux的bash shell初接触

    本人是Linux初习者,同时也刚刚开始学习,将我的学习成长记录下来,来和大家一同分享! 我用的系统是Ubuntu 12.04,脚本编辑器用的是VIM,觉得很顺手!Shell语言用的是Bash Shel ...

随机推荐

  1. CSS的!important修改权重

    !important语法和描述 !important为开发者提供了一个增加样式权重的方法.应当注意的是!important是对整条样式的声明,包括这个样式的属性和属性值. #example { fon ...

  2. 如何创建windows xp 虚拟机

         如何创建windows xp 虚拟机 一.所需软件 1. VMware-workstation-full-12.0.0-2985596 赠送vm12 激活key一枚: 5A02H-AU243 ...

  3. Java——有关日期的方法

    1.日期转换成String格式化输出: public String getDate() { SimpleDateFormat format = new SimpleDateFormat("y ...

  4. 我眼中真正优秀的CTO

    该文转自“肉饼铺子”.作者robbin是前JavaEye网站的创始人,TOPITCLUB互联网俱乐部发起人.  原文链接 现在进入正题,最近几个月,不断有人找我推荐CTO人选,这两年互联网创业和创投实 ...

  5. 06_WebService与Socket的区别

    [区别] 区别1. Socket是基于TCP/IP的传输层协议. WebService是基于HTTP协议传输数据的,HTTP是基于TCP的应用层协议. 区别2. WebService采用了基于HTTP ...

  6. ZOJ 1025 Wooden Sticks(快排+贪心)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=25 题目大意:机器运送n个木条,每个木条有一个长度和重量.运送第一根木 ...

  7. bzoj1007:[HNOI2008]水平可见直线

    思路:首先按斜率排序,如果斜率相同就取截距最大的,显然截距小的会被覆盖而对答案没有贡献,然后考虑斜率不同的如何统计答案,可以用一个单调栈维护,当前新插入的直线显然斜率是要比当前栈顶斜率要大的,然后如果 ...

  8. (hdu)5652 India and China Origins 二分+dfs

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5652 Problem Description A long time ago there ...

  9. IOS 学习笔记 2015-04-15 控制器数据反向传值

    // // FirstViewController.h // 控制器数据传递 // // Created by wangtouwang on 15/4/15. // Copyright (c) 201 ...

  10. 《APUE》第三章笔记(3)

    文件共享 UNIX系统支持在不同进程中共享打开的文件,首先先用一幅apue的图来介绍一下内核用于I/O文件的数据结构: 如图所见,一个进程都会有一个记录项,记录项中包含有一张打开文件描述符表,每个描述 ...