VS Code扩展开发:/out文件夹需提交至远程仓库吗?
VS Code扩展开发:/out文件夹是否需要提交到远程仓库?
结论:不需要提交/out文件夹,但得通过调整本地构建流程解决「找不到模块」的报错。
为什么不用提交/out?
/out是TypeScript编译生成的JS产物,属于源代码的衍生文件:
- 提交它会无意义地增大仓库体积
- 不同开发者的TS版本、编译配置差异可能导致产物不一致,引发不必要的冲突
加.gitignore后报错的原因
VS Code运行扩展时默认依赖/out目录下的编译后JS文件。如果你把/out加入.gitignore且本地没有重新编译生成该目录,自然会出现「找不到模块」的错误——并不是远程仓库需要这个文件夹,而是你本地缺少构建产物。
解决方法
- 确认
tsconfig.json的outDir配置正确指向/out:{ "compilerOptions": { "outDir": "./out" } } - 在
package.json中添加构建脚本:"scripts": { "compile": "tsc -p ./", "watch": "tsc -watch -p ./" } - 运行扩展前先执行构建:
- 单次编译:
npm run compile - 实时监听源码变化自动编译:
npm run watch
- 单次编译:
- 保持/out在.gitignore中,同时可以把
node_modules等其他非源码文件也加入,确保仓库只存核心代码
团队协作注意事项
在项目README里明确要求:所有成员克隆仓库后,先执行npm install安装依赖,再执行npm run compile生成构建产物,避免出现相同的模块找不到问题。
内容的提问来源于stack exchange,提问作者xkeshav
相关产品推荐
相关产品推荐

