Yarn Workspace,如何排除 node_modules 中的包文件?

Posted

技术标签:

【中文标题】Yarn Workspace,如何排除 node_modules 中的包文件?【英文标题】:Yarn Workspace, how to exclude package files in node_modules? 【发布时间】:2021-01-02 21:44:04 【问题描述】:

我正在尝试为纱线工作区寻找与 .npmignore 相同的功能。

例如,假设我在名为“@walnut/peanut”的包名中有 test、src(typescript) 和 lib(compiled javascript) 文件夹。

我只需要在 node_modules 中编译的 'lib' 文件夹,所以我只希望在安装 yarn 时将 lib 文件夹包含在 node_modules/@walnut/peanut 文件夹中。

我尝试将 .npmignore 文件放入包中(显然,但以防万一),但它似乎仍然包含所有文件,而不仅仅是 lib 文件夹。还尝试在 package.json 中指定以下内容,但没有运气


...,
files:["/lib"],

我该如何配置?

谢谢

【问题讨论】:

【参考方案1】:

我认为正确的格式是

files: [
  "lib/"
]

请注意,当您从同一个 monorepo 引用此包时,这并不适用。在这种情况下,Yarn 只是 symlinks 来自*** node-modules 文件夹的整个包目录。

【讨论】:

以上是关于Yarn Workspace,如何排除 node_modules 中的包文件?的主要内容,如果未能解决你的问题,请参考以下文章

仅排除 tar 命令中的特定文件夹

[Yarn] Use yarn up to Update Dependencies In A Yarn Workspace

yarn  workspace 开发示例

如何在 Lerna + Yarn Workspaces repo 中安装 npm 包?

lerna+yarn workspace+monorepo项目的最佳实践

在 Yarn Workspace 的不同包中使用不同版本的依赖项