文章目錄
  1. 1. 现有问题
  2. 2. 使用bower及git解决方案
    1. 2.0.1. 公用模块抽取
    2. 2.0.2. 模块安装
    3. 2.0.3. 模块更新
    4. 2.0.4. 注意
    5. 2.0.5. 问题解决

现有问题

  • 现有代码基于项目,即使公用也无法共享

  • 继续抽象出来的公用模块,也需要复制到其他目录

  • 公用模块有多份代码,需维护多份代码,容易导致代码不一致

  • 更新困难,当公用模块修改一个bug时,需要搜索所有项目进行修改

  • 模块间的依赖关系混乱

使用bower及git解决方案

公用模块抽取

  • 公用代码抽取出来作为一个独立的git项目

  • 初始化该项目为一个bower项目

    该目录下执行 bower init

  • 添加公用代码,并把代码提交到gitlab

模块安装

  • 首先需要执行bower init 初始化调用目录

    初始化为bower项目的目的是为了保存该项目所引用的模块

  • 执行bower install + git地址 --save-dev

    例如

    1
    bower install http://fedgit.teiron.com/zhangbh/bower-test.git --save-dev
  • 代码会下载到bower_components目录下,页面可直接应用bower_components下的文件

    例如

    1
    <script src="bower_components/bower-test/index.js"></script>

模块更新

  • 更新模块时,需要更新bower.json文件的版本号,bower通过该版本号来判断,所以记得更新公用项目时,更新版本号

  • 调用方通过执行bower update + 模块名 来下载最新代码

注意

  • 抽取公用代码,保存在git服务器,公用模块必须有一定可复用性,不能依赖具体项目

  • bower_components不能提交源代码管理(git/svn)

  • 用户下载代码后,执行bower install 安装项目依赖模块

问题解决

  • 公用模块只存一份代码

  • 调用方无痛更新模块

  • 模块依赖关系由bower解决

  • 提高代码复用率

文章目錄
  1. 1. 现有问题
  2. 2. 使用bower及git解决方案
    1. 2.0.1. 公用模块抽取
    2. 2.0.2. 模块安装
    3. 2.0.3. 模块更新
    4. 2.0.4. 注意
    5. 2.0.5. 问题解决