gpt4 book ai didi

javascript - 如何处理开源 GitHub 存储库中的构建任务?

转载 作者:行者123 更新时间:2023-12-03 08:09:29 27 4
gpt4 key购买 nike

我正在开发一个用 Javascript 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< 中的文件/strong> 将不同步。
我的问题是,在 GitHub 项目中处理此构建任务的最佳方法是什么。我已经研究过 travis,它已经在为我进行测试,但我不确定 travis 是否应该或可以将代码推送到存储库。毕竟,最好不要提交构建文件,因为无论如何它们都可以从源代码中计算出来?

最佳答案

首先,将转译后的代码存储在版本控制下根本不是一个好主意。

看看history项目是如何解决的:https://github.com/rackt/history/blob/master/npm-scripts/postinstall.js

他们有一个用于 NPM 的 postinstall 脚本,该脚本检查该模块尚未构建并构建它。

如果您将这个东西添加到您的存储库中,您的消费者将在安装过程中即时构建模块。另外,如果您打算在 NPM 注册表中发布它,请不要忘记包含构建的文件以减少安装时间。

关于javascript - 如何处理开源 GitHub 存储库中的构建任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34204938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com