【问题标题】:How should I organize a JS open source library project?我应该如何组织一个 JS 开源库项目?
【发布时间】:2016-09-29 03:12:20
【问题描述】:
我维护一个 JS 前端库。
为了开始,我在 Rails 中编写了它,因为这就是我所知道的。如果您安装了 Rails,它会很好地工作,但对于其他人来说,这是一种非常愚蠢的工作方式。
在 Github 上组织用 CoffeeScript 编写的前端 JS 库的“最佳实践”方式是什么?
需要有简单的方法来
从一组 CoffeeScript 文件构建一个压缩编译的发布版本。
在开发过程中在浏览器中运行新版本
运行测试套件
【问题讨论】:
标签:
javascript
build
coffeescript
open-source
【解决方案1】:
我不确定我的建议是否能回答你的问题。
我的建议是
- 使用依赖管理工具,例如 npm 或 bower 来管理 3rd 方库
- 使用构建工具,例如 grunt 或 gulp 或 webpack 构建您的包,包括缩小、仅获取所需文件、将咖啡编译为 js
- 使用 mocha 或其他测试框架运行测试
然后将上述任务集成到 ci 工具,例如 jenkins 以自动化它们
您的詹金斯工作将逐步完成这些任务
- 从 github auto 拉取代码
- 清理你的仓库,例如,git reset --hard && git clean -xdf
- npm install 或 bower install
- 运行 webpack 或 grunt 或 gulp
- 运行测试
【解决方案2】:
我的建议是将其发布为具有如下目录结构的 npm 模块:
package.json
.gitignore (include lib and dist)
.npmignore (include test)
webpack.config.js
src/
index.coffee
(other sources)
lib/ (generated by npm script)
index.js (compiled)
dist/ (optional - for browser bundle)
bundle.js
webpack/dist 支持是可选的,但对于任何想要在没有 webpack 或 browserify 的情况下使用该库的用户来说都很方便。