编译后的 JavaScript 文件是不是应该提交到 Git 存储库? [关闭]

Posted

技术标签:

【中文标题】编译后的 JavaScript 文件是不是应该提交到 Git 存储库? [关闭]【英文标题】:Should compiled JavaScript files be committed to Git repo? [closed]编译后的 JavaScript 文件是否应该提交到 Git 存储库? [关闭] 【发布时间】:2018-11-20 14:54:30 【问题描述】:

这里是 TypeScript 的新手,只是想知道社区认为什么是最佳实践。

当我为生产编译时,我使用 webpack 加载器。但是,当我运行测试时,我需要运行 tsc && ava。这会在与其对应的.ts 相同的位置生成一个.js 等效文件。这些是否应该与.ts 文件一起提交给repo?我的第一个假设是否定的,因为每次都应该在进程之前重新编译它们,例如正在启动您的服务器或执行测试。不过,我只是想听听社区对此的看法。

【问题讨论】:

When coding in TypeScript should the generated .js files be committed to git?的可能重复 ***.com/questions/41136840/… 【参考方案1】:

您的假设是绝对正确的 - 不应将构建工件和输出添加到您的存储库中。造成这种情况的主要原因是很容易导致源 .ts 文件已更改但编译后的 .js 文件不同,因为它没有同时提交。

您还会增加拉取请求/合并审核的复杂性,因为会有大量生成的代码真正不是审核的一部分,而是在变更集中。 p>

最后,合并更改变得有点痛苦,因为每次合并都需要重新编译 .js 文件。

如果您在源目录中使用.ts 文件,您可以将/**/*.js 添加到您的.gitignore 以防止文件被意外添加。

【讨论】:

太棒了!感谢您的详细回答和 gitignore 建议:) 有一个警告,如果你正在使用 typescript 构建一个 npm 包并使用 git 来托管一个私有 npm 注册表,你肯定会想要提交已编译的 .js 文件及其类型定义。

以上是关于编译后的 JavaScript 文件是不是应该提交到 Git 存储库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

修改后的 Pod 未编译

Javascript 验证后的表单提交

jenkins+gitlab自动化编译部署方案探索及服务端编译webpack实战

使用apktoolbox反编译后如何回编译apk,提示: 请确认是不是已经拖入反编译后的文件夹

4.在Java Web应用中,JSP文件应该放在啥地方,编译后的Servlet和JavaBean应该放在啥地方?

根据用户输入 javascript 返回一个过滤后的数组