与世界分享你的JavaScript库

懒惰

让我们面对现实吧,开发者都很懒(包括我自己)。Philipp Lenssen在他的帖子说明:

只有懒惰的程序员才会想要编写一种最终可能取代他们的工具。懒惰,因为只有懒惰的程序员才会避免编写单调、重复的代码——从而避免冗余,这是软件维护和灵活重构的敌人。大多数情况下,这种努力所产生的工具和过程懒惰将加快生产。

作为一个杰出的JavaScript开发人员,你正在构建这个人人都在等待的很棒的库,寻找一个工具来帮助你避免编写单调、重复的代码。

验证、编译、最小化、连接等等,这些都是在发布库之前需要完成的任务。

幸运的是,这些是几乎所有编写JavaScript代码的人都需要完成的任务,这也是Ben Alman在创建时着手解决的问题咕哝着说

认识Grunt: JavaScript的构建工具

咕哝着说

Grunt是一个用于JavaScript项目的基于任务的命令行构建工具,它有助于创建新项目,并使执行重复但必要的任务(如检查、单元测试、连接和缩小文件等)变得微不足道。

这就是Grunt的目标。它有很多内置的任务,可以让你走得很远,你还可以构建自己的插件和脚本来扩展基本功能。

要了解更多Grunt的介绍,请参阅Ben的帖子他的个人博客Bocoup博客

所以,现在你被卖了,你的项目在几分钟内就完全自动化了,现在怎么办?现在是时候把它分发给人们了。不管怎样,这就是软件的全部意义,我们希望人们使用我们的东西。

Bintray + Grunt + Grunt - Bintray -deploy =纯粹的棒极了

Grunt的生态系统非常庞大,而且每天都在增长。有数百个插件可供选择,您可以使用Grunt以最少的努力自动化几乎任何事情,这正是我决定要做的。

我写了一篇繁重的插件它将帮助你将你的项目分享和分发给Bintray,并从那里传播到世界其他地方。

通过使用Bintray,你可以通过高速CDN分发你的库,你的用户可以将他们的HTML JavaScript标签直接指向Bintray给你的URL !

使用Bintray,您可以知道您的库是如何被消耗的。你不仅可以获得每个版本的下载数据,用户还可以与你交流;评论和评价你的图书馆;或者给你反馈。

设置

让我们使用自由民搭建一个Node.js模块,该模块稍后将分发给Bintray:

[code language= " bash "]mkdir mylib[/code]

全球安装约曼:

[code language= " bash "]npm install -g yo[/code]

全局安装nodejs生成器:

[code language= " bash "]npm install -g generator-nodejs[/code]

下载grunt-bintray-plugin并将其作为开发依赖保存到package.json中:

[code language= " bash "]npm install grunt-bintray-deploy -save-dev [/code]

一旦插件被安装,它可能会在你的Gruntfile中被启用:

(语言=“javascript代码)
grunt.loadNpmTasks(“grunt-bintray-deploy”);
(/代码)

现在让我们配置这个任务来发布index.js和包。json文件到Bintray!

(语言=“javascript代码)
grunt.initConfig ({
bintrayDeploy: {
bintray: {
选择:{
用户:“bintray_user”,
apikey:“bintray_api_key”,
包裹:{
回购:“回购”,
}
},
文件:[{
扩展:没错,
平:没错,
Src: [" index.js ", " package.json "]
Dest: " <%= pkg.version %> ",
过滤:“isFile”
})
}
}})
(/代码)

现在我们准备运行我们的grunt任务:

(代码语言=“bash”)
繁重bintrayDeploy

运行“bintrayDeploy:bintray”(bintrayDeploy)任务
>>成功创建新包' mylib '。
>>将文件部署到“https://bintray.com/shayy/repo/mylib/0.0.1/files”
>>成功部署' index.js '
>>成功部署“package.json”

完成了,没有错误。
(/代码)

就是这样,这是你的Bintray账户下的情况:
发布到文件夹

看,这是你的用户将使用从快速CDN消费你的库的URL:
从Bintray下载

现在一切都是自动化的,我们终于可以去小睡一下,让我们的CI服务器去做这项讨厌的工作。