《JavaScript开发框架权威指南》——1.7 创建Bower包

1.7 创建Bower包

截至目前,我们关注的焦点都在如何将Bower集成到项目中。我们先在项目中对Bower进行了初始化,然后探究了查找、添加以及移除软件包的方法。但是总有那么一天,你会希望将自己的软件包分享给其他人。要这么做的话,就必须遵守一些简单的规则,让我们从选择有效的包名开始。

1.7.1 选择有效的包名
你需要为自己的包选定一个名字,该名字必须在整个Bower开放注册中心(public registry)唯一。通过Bower的search命令来检查你想要的名字是否可用。其他需要遵守的规则有:

  • 包名应当使用slug格式,例如my-unique-project。
  • 包名中的所有字母应为小写。
  • 只允许出现字母、句点以及连字符(dash)。
  • 以字母起始并结束。
  • 不允许出现连续的句点和连字符。
  • 选好名字后,更新相应的bower.json文件的内容。

1.7.2 在Git标签中使用语义化版本号(Semver)
本章前面的部分对语义化版本控制(一种为软件项目指定有意义的版本号的通用规范)的概念进行了介绍。请务必遵守此规范,因为它使用户得以跟踪及整合软件包以后的改变。

如果你要共享的软件包刚刚起步,0.0.0会是比较合适的版本号。随着更新的提交以及新版本的发布,你可以根据改变程度相应地增加版本号。当确定该项目已经到达第一个“稳定的”里程碑的时候,再把版本号更新为1.0.0来反映此状态。

软件项目的每个版本号都应该在GitHub上有相应的标签(tag)。用户正是通过这种GitHub标签与包版本号之间的关系,在项目中引用特定版本的包的。

假设代码已经提交到GitHub上,那么接着可以按清单所示的方法来创建第一个GitHub标签。

清单1-10 创建第一个使用语义化版本号的Git标签

$ git tag -a 0.0.1 -m "First release."
$ git push origin 0.0.1

1.7.3 将软件包发布到注册中心
软件包的名字已经选好,也指定了版本号(以及相应的GitHub标签),现在是时候将软件包发布到Bower的注册中心了。

$ bower register my-package-name https://github.com/username/my-package-name.git

注意:
 

请记住,Bower的设计初衷是作为库和组件的集中式注册中心,供开发者在项目中使用,而非一种应用分发机制。

时间: 2024-12-02 00:35:06

《JavaScript开发框架权威指南》——1.7 创建Bower包的相关文章

《JavaScript开发框架权威指南》——1.8 小结

1.8 小结 Bower是一个简单的命令行工具,可以用来简化前端资源管理过程中的一些冗杂的工作.与其他平台上的知名包管理工具(如npm)不同,Bower的设计初衷并不是解决某种平台或者语言的特定需求:相反,它支持的是一般意义上的包管理.创建Bower的开发者有意创造了一个能够管理众多种类的前端资源的简单工具,不仅仅是代码,还包括样式表.字体.图像以及其他未预见的依赖项. 与普通小型网络应用打交道的开发人员可能会觉得Bower带来的好处价值不大.然而,小网络应用都有快速迭代为复杂网络应用的倾向.往

《JavaScript开发框架权威指南》——1.6 维护依赖链

1.6 维护依赖链 Bower给开发者带来的一个主要好处,就是可以非常方便地对整个项目的依赖链以一种相对受控的方式进行集中升级.为此,我们先来看一下本章示例项目所包含的依赖项列表(见清单). 清单1-8 安装并列出示例项目所需的Bower包 $ bower install bower bootstrap#3.2.0 cached git://github.com/twbs/bootstrap.git#3.2.0 bower bootstrap#3.2.0 validate 3.2.0 again

《JavaScript开发框架权威指南》——第1章 Bower 1.1准备工作

第1章 Bower 九层之台,起于累土. -- 文森特·梵高 包管理(Package Management),又作依赖关系管理(Dependency Management),并不是什么新奇的概念.此类工具为开发者提供了一种机制,以管理软件项目所依赖的各种第三方库.一些得到广泛应用的例子有: npm:Node.js的包管理工具: Composer:一种PHP依赖关系管理工具: pip:PyPA的推荐工具,用于安装Python包: NuGet:包括.NET在内的微软开发平台的包管理工具. 尽管包管理

《JavaScript开发框架权威指南》——2.6 创建Grunt插件

2.6 创建Grunt插件 社区提供的丰富插件库是让Grunt真正变得闪耀的库,它能使你立即从Grunt中获益,而不是需要从头创建复杂的任务.如果你需要在项目中做自动构建,那么很可能某人已经为你做好这项"Grunt"工作.在这一节中,你可以懂得如何向社区回馈自己创建的Grunt插件. 2.6.1 开始 首先要做的事情之一是情创建一个公共的GitHub仓库,以存储你的新插件.下文中将要提及的示例包含在本书附带的源码中,本书附带了源码.一旦你准备好代码仓库,就把它克隆到你的电脑上.下一步,

《JavaScript开发框架权威指南》——1.2 配置Bower

1.2 配置Bower Bower采用基于项目的配置,也就是说,每个项目都可以通过一个(可选的)JSON文件进行配置.该文件位于项目的根目录下,文件名为.bowerrc.简要起见,我们只看一下该文件中变动最频繁的设置(见清单). 清单1-2 本章示例项目中的.bowerrc文件 // example-bootstrap/.bowerrc { "directory": "./public/bower_components" } 默认情况下,Bower会把项目的所有依赖

《JavaScript开发框架权威指南》——2.5 操作文件系统

2.5 操作文件系统 可想而知,作为构建工具,大部分Grunt插件都要以某种方式和文件系统交互.鉴于操作文件的重要性,Grunt提供了有益的抽象允许开发者与文件系统交互,并且仅仅使用很少数量的样板代码. 当然,我们不会把所有方法都列举在此,表显示了Grunt文件操作API中一些使用频率最高的方法.2.5.1 源-目标映射 许多Grunt任务与文件系统交互是依赖于源-目标映射的,该映射描述了要被处理的文件及各文件对应的目标.构建这样的映射会很冗长乏味,感谢Grunt为我们提供了解决此问题的有益捷径

《JavaScript开发框架权威指南》——2.2 Grunt是如何工作的

2.2 Grunt是如何工作的 Grunt为开发者提供了一个工具包,用于创建命令行程序来执行项目构建过程中的重复性任务,如压缩JavaScript代码.编译Sass样式表等.不过,Grunt的能力并不限于创建简单的任务(通常这些任务不会被分享或者复用),以解决特定工程遇到的特定需求,其真正的力量源于其将任务打包为可复用的插件的能力.这些插件可以被发布.分享.使用以及由其他人进行改进.本书写作之时已经有超过4 400个这样的插件. Grunt的运转依赖于四个核心组件,接下来逐一论述. 2.2.1

《JavaScript开发框架权威指南》——1.5 语义化版本控制

1.5 语义化版本控制 如果安装了jQuery(见清单),那么请查看项目的Bower清单.你所看到的应当与清单相仿. 清单1-7 语义化版本号 "dependencies": { "jquery": "~2.1.3" } 清单中的版本号2.1.3(请暂时忽略-)就是所谓的语义化版本号(Semver,Semantic Version).语义化版本控制能够帮助开发者按照通用格式为其项目指定版本号.该格式如下所示. Version X.Y.Z(Majo

《JavaScript开发框架权威指南》——1.3 清单文件(Manifest)

1.3 清单文件(Manifest) Bower为开发者查找.添加.升级以及删除第三方库提供了唯一入口.这些操作被执行后,Bower会用最新的项目依赖项列表更新一个被称作"配置清单"的JSON文件.本章示例项目中的配置清单如清单所示.在此示例项目中,Bower维护着一个唯一的依赖项,即Bootstrap的CSS框架. 清单1-3 本章示例项目的Bower清单文件 // example-bootstrap/bower.json { "name": "exam