Javascript 我是否注定要犯下罪行';s`.pnp.js`文件?
纱线包括一个可选组件,可将Javascript 我是否注定要犯下罪行';s`.pnp.js`文件?,javascript,node.js,git,yarnpkg,Javascript,Node.js,Git,Yarnpkg,纱线包括一个可选组件,可将节点_模块移出项目目录。在此过程中,它创建了一个.pnp.js文件,其中引用了硬盘上的各种依赖路径 该文件是自动生成的,有几千行长,似乎引用了运行纱线安装的机器的特定路径 .pnp.js是否意味着与其余代码一起提交?我似乎找不到关于这个的任何信息,尽管这个文件看起来没有用。ConisDeed最佳实践是什么?为什么?我在一个问题上找到了(纱线的主要维护者),询问.gitignore中应包含哪些内容。它可能会回答您的问题: 纱线/插件和纱线/版本包含当前存储库中使用的纱线
节点_模块
移出项目目录。在此过程中,它创建了一个.pnp.js
文件,其中引用了硬盘上的各种依赖路径
该文件是自动生成的,有几千行长,似乎引用了运行纱线安装的机器的特定路径
.pnp.js
是否意味着与其余代码一起提交?我似乎找不到关于这个的任何信息,尽管这个文件看起来没有用。ConisDeed最佳实践是什么?为什么?我在一个问题上找到了(纱线的主要维护者),询问.gitignore
中应包含哪些内容。它可能会回答您的问题:
纱线/插件
和纱线/版本
包含当前存储库中使用的纱线版本(由纱线集版本
定义)。您将希望对其进行版本控制(这可以防止潜在问题,例如,如果两名工程师使用具有不同功能的不同纱线版本)
.warn/unplugged
可能总是被忽略,因为它可能包含本机版本
.warn/build state.yml
也应该被忽略,因为它包含构建信息
- 如果出于某种原因您将版本
拔出
,那么保持构建状态也可能是有意义的
.warn/cache
可能会被忽略,但您需要运行warn install
来重新生成它
- 对它进行版本控制可以解锁我们所说的——不过这是可选的
.pnp.js
(以及潜在的.pnp.data.json
)与缓存在同一条船上。如果将缓存保留在存储库中,请将其添加到存储库中,否则请忽略它
warn.lock
应始终存储在存储库中()
因此,总结一下:
如果使用零安装:
.yarn/unplugged
.yarn/build-state.yml
.yarn/*
!.yarn/releases
!.yarn/plugins
.pnp.*
如果您不使用零安装:
.yarn/unplugged
.yarn/build-state.yml
.yarn/*
!.yarn/releases
!.yarn/plugins
.pnp.*
正如一位评论者所指出的那样,还有出色的评论。我唯一的批评是他们在那里展示的方式,我认为他们应该将常见的方式合并为一种,然后将零安装和非安装的特殊情况分开。这就是我是如何得到它的。但请再次注意这篇文章,因为其中的一些(例如.warn/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 -------
zero install是一个Thread 2/berry功能,允许您克隆和运行