我是要提交 yarn 的 `.pnp.js` 文件吗?

Yarn 包括一个可选的“即插即用”功能,该功能移出node_modules项目目录。这样做时,它会创建一个.pnp.js文件,其中包含对硬盘驱动器上各种依赖路径的引用。

该文件是自动生成的,有几千行长,并且似乎引用了特定于运行yarn install.

是否.pnp.js意味着与其余代码一起提交?尽管该文件似乎无用,但我似乎无法找到有关此的任何信息。什么是最佳实践,为什么?


猛跑小猪
浏览 242回答 2
2回答

慕尼黑的夜晚无繁华

我发现Arcanis(Yarn 的主要维护者)在一个问题上的评论询问了.gitignore. 它可能会回答您的问题:.yarn/plugins并.yarn/releases包含当前存储库中使用的 Yarn 版本(由 定义yarn set version)。您将希望保持它们的版本(这可以防止潜在问题,例如,如果两个工程师使用具有不同功能的不同 Yarn 版本)。.yarn/unplugged 应该总是被忽略,因为它可能包含本机构建.yarn/build-state.yml 也应该被忽略,因为它包含构建信息如果由于某种原因你版本unplugged,保留build-state也是有意义的.yarn/cache可能会被忽略,但您需要运行yarn install以重新生成它版本控制它解锁了我们所说的零安装——虽然它是可选的.pnp.js(并且可能.pnp.data.json)与缓存在同一条船上。如果您将缓存保留在您的存储库中,请将其添加到您的存储库中,否则将其忽略。yarn.lock应该始终存储在您的存储库中(即使您开发了一个库)所以总结一下:如果您使用零安装:.yarn/unplugged.yarn/build-state.yml如果您不使用零安装:.yarn/*!.yarn/releases!.yarn/plugins.pnp.*

慕侠2389804

正如其中一位评论者所指出的,官方 .gitignore 建议以及出色的评论都在这里。我唯一的批评是他们在那里展示的方式,我认为他们应该将常见的方式合二为一,然后将零安装与不安装的特殊情况分开。这就是我如何拥有它。但同样,请注意该文章,因为其中一些(例如.yarn/sdk)可以选择添加或不添加。# ------- yarn -------# see excellent notes at: https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored# Also: `yarn.lock` and `.yarnrc.yml` (or it's older counterpart .yarnrc) "should always be stored in your repo".yarn/*!.yarn/patches!.yarn/plugins!.yarn/releases!.yarn/sdks!.yarn/versions## --> ADD if using zero-install, otherwise do NOT:#!.yarn/cache## --> ELSE ADD if NOT using yarn's zero-install:.pnp.*# ------- end yarn -------
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript