我正在编写一个开源项目,编写ins ES6。我使用babel将其传输到ES5。这样我就有了这样的文件夹结构:
/project
/src *raw ES6 files*
handler.es6.js
app.es6.js
/lib *transpiled files by babel*
handler.js
app.js
/dist *combined an minified files, ready to use*
project.min.js我使用grunt来传输压缩js文件。唯一可以手动更改的文件是/src中的文件。其他文件是自动生成的。因此,如果用户更改app.es6.js并发送拉请求而不运行grunt任务,则/src和/lib中的文件将不同步。
我的问题是,在GitHub项目中处理这个构建任务的最佳方法是什么,我已经了解了travis,它已经在为我做测试,但我不确定travis是否应该或者可以将代码推送到回购程序中。毕竟,最好不要提交构建文件,因为它们无论如何都可以从源中计算?
发布于 2015-12-11 09:55:47
首先,在版本控制下存储已转移的代码根本不是一个好主意。
看看如何在history项目中解决这个问题:https://github.com/rackt/history/blob/master/npm-scripts/postinstall.js
他们有一个NPM的postinstall脚本,它检查尚未构建的模块并构建它。
如果你把这个东西添加到你的回购,你的消费者将在安装过程中动态构建模块。此外,如果要在NPM注册表中发布此文件,请不要忘记包含构建的文件以减少安装时间。
https://stackoverflow.com/questions/34204938
复制相似问题