为什么`npm install dragula`包含112个文件?

时间:2016-12-23 22:45:41

标签: npm

我一直在使用npm,但我从来没有理解这一点:

安装软件包时,如dragula,它包含所有源文件。

我真的不想要所有112个文件。我只想要4个文件的dragula / dist文件。

包括GitHub项目中的所有内容背后的理性是什么?为什么不包括分发文件?如果我想要整个项目,我会去GitHub并下载它。我只使用dragula作为例子。我下载的所有npm下载都有同样的问题。

使用许多此类库时,问题会变得更加严重。

有没有办法将包减少到只是在运行时实际使用的文件?

我遇到的问题是,在50个这样的库之后,我有一个包含超过20,000个文件的nodes_module文件夹。这一切都有效,但我想将其减少到实际需要的文件。

1 个答案:

答案 0 :(得分:2)

  

包括GitHub项目中的所有内容背后的理性是什么?为什么不包括分发文件?如果我想要整个项目,我会去GitHub并下载它。

由每个包/库决定通过files中的package.json属性说明哪些文件是必需的。如果未定义,则有效地包含所有内容which is the case with dragula

See the files documentation了解详情。

换句话说,这不是npm的问题,因为每个软件包都没有明确定义哪些文件实际上是必需

如果你不喜欢它我建议在他们的Github页面上打开一个问题/ PR。

  

我有一个包含超过20,000个文件的nodes_module文件夹。一切正常,   但我想将其减少到实际需要的文件。

然后你应该使用像webpack这样的东西来帮助你“构建”你的FE代码,这样你就拥有自己的dist文件夹,只包含你真正需要的文件。