这里是TypeScript的新手,只是想知道社区认为什么是最佳实践。
当我为生产编译时,我使用webpack加载器。但是,当我运行测试时,我需要运行tsc && ava
。这会在与.js
对应位置相同的位置生成.ts
等效文件。这些是否应该与.ts
文件一起提交回购?我的第一个假设是否定的,因为它们应该在每次进程之前重新编译,例如启动服务器或执行测试运行。但是,我想了解社群对此的看法。
答案 0 :(得分:7)
您的假设是绝对正确的 - 构建文物和输出不应该添加到您的存储库中。这样做的主要原因是,在源.ts
文件已更改但编译的.js
文件不同的情况下,它很容易结束,因为它未在同时。
您还会增加pull-requests / merge评论的复杂性,因为会有大量生成的代码不是真正审核的一部分,而是在变更集中。
最后,合并更改会变得有点痛苦,因为您需要为每次合并重新编译.js
个文件。
如果仅在源目录中使用.ts
文件,则可以将/**/*.js
添加到.gitignore
,以防止意外添加文件。