一个JS开源库项目应该怎么组织?
How should I organize a JS open source library project?
我维护一个 JS 前端库。
为了开始,我把它写在 Rails 中,因为这就是我所知道的。如果您安装了 Rails,它工作得很好,但对于其他人来说,这是一种非常愚蠢的工作方式。
在 Github 上组织用 CoffeeScript 编写的前端 JS 库的 "best practice" 方法是什么?
需要有简单的方法
从一组 CoffeeScript 文件构建压缩编译版本。
运行 开发期间浏览器中的新版本
运行 一个测试套件
我不确定我的建议是否能回答你的问题。
我的建议是
- 使用依赖管理工具,例如 npm 或 bower 来管理第 3 方库
- 使用构建工具,例如 g运行t 或 gulp 或 webpack 来构建您的包,包括 minify,只获取需要的文件,将 coffee 编译为 js
- 使用mocha或其他测试框架运行测试
然后将上述任务集成到 ci 工具中,例如 jenkins 以实现自动化
您的 jenkins 工作将逐步完成这些任务
- 从 github auto
中提取代码
- 清理你的仓库,例如,git reset --hard && git clean -xdf
- npm 安装或 bower 安装
- 运行 webpack 或 g运行t 或 gulp
- 运行 测试
我的建议是将其发布为具有如下目录结构的 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 的情况下使用该库的任何用户来说会很方便。
我维护一个 JS 前端库。
为了开始,我把它写在 Rails 中,因为这就是我所知道的。如果您安装了 Rails,它工作得很好,但对于其他人来说,这是一种非常愚蠢的工作方式。
在 Github 上组织用 CoffeeScript 编写的前端 JS 库的 "best practice" 方法是什么?
需要有简单的方法
从一组 CoffeeScript 文件构建压缩编译版本。
运行 开发期间浏览器中的新版本
运行 一个测试套件
我不确定我的建议是否能回答你的问题。
我的建议是
- 使用依赖管理工具,例如 npm 或 bower 来管理第 3 方库
- 使用构建工具,例如 g运行t 或 gulp 或 webpack 来构建您的包,包括 minify,只获取需要的文件,将 coffee 编译为 js
- 使用mocha或其他测试框架运行测试
然后将上述任务集成到 ci 工具中,例如 jenkins 以实现自动化
您的 jenkins 工作将逐步完成这些任务
- 从 github auto 中提取代码
- 清理你的仓库,例如,git reset --hard && git clean -xdf
- npm 安装或 bower 安装
- 运行 webpack 或 g运行t 或 gulp
- 运行 测试
我的建议是将其发布为具有如下目录结构的 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 的情况下使用该库的任何用户来说会很方便。