我一直在使用npm,但我从来没有理解这一点:
安装软件包时,如dragula,它包含所有源文件。
我真的不想要所有112个文件。我只想要4个文件的dragula / dist文件。
包括GitHub项目中的所有内容背后的理性是什么?为什么不包括分发文件?如果我想要整个项目,我会去GitHub并下载它。我只使用dragula作为例子。我下载的所有npm下载都有同样的问题。
使用许多此类库时,问题会变得更加严重。
有没有办法将包减少到只是在运行时实际使用的文件?
我遇到的问题是,在50个这样的库之后,我有一个包含超过20,000个文件的nodes_module文件夹。这一切都有效,但我想将其减少到实际需要的文件。
答案 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
文件夹,只包含你真正需要的文件。