Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译后的JavaScript文件是否应提交给Git repo?_Javascript_Git_Typescript - Fatal编程技术网

编译后的JavaScript文件是否应提交给Git repo?

编译后的JavaScript文件是否应提交给Git repo?,javascript,git,typescript,Javascript,Git,Typescript,这里是TypeScript新手,只是想知道社区认为什么是最佳实践 当我编译用于生产时,我使用webpack加载器。但是,当我运行测试时,我需要运行tsc&&ava。这将在与其对应的.ts文件相同的位置生成一个.js等效文件。这些应该与.ts文件一起提交给回购协议吗?我的第一个假设是否定的,因为它们应该在每次进程(例如启动服务器或执行测试)运行之前重新编译。然而,我只是想得到社区对此的意见。您的假设是绝对正确的-构建人工制品和输出不应添加到您的存储库中。这样做的主要原因是,很容易出现这样的情况:源

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


当我编译用于生产时,我使用webpack加载器。但是,当我运行测试时,我需要运行
tsc&&ava
。这将在与其对应的
.ts
文件相同的位置生成一个
.js
等效文件。这些应该与
.ts
文件一起提交给回购协议吗?我的第一个假设是否定的,因为它们应该在每次进程(例如启动服务器或执行测试)运行之前重新编译。然而,我只是想得到社区对此的意见。

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

您还增加了拉请求/合并审查的复杂性,因为将有大量生成的代码不是审查的一部分,而是在变更集中

最后,合并更改有点麻烦,因为每次合并都需要重新编译
.js
文件


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

可能重复的Awesome!感谢您的详细回答和gitignore建议:)这里有一个警告,如果您正在使用typescript构建npm包,并使用git托管一个私有npm注册表,那么您肯定要提交编译的
.js
文件及其类型定义。