有几个项目在NPM分发包中包含其源代码。例如,React在lib
文件夹中包含其未经编译/未构建的javascript文件,但它还有一个带有内置文件的dist
文件夹。
这是一个好习惯吗?
在缺点方面,我认为它会增加下载程序包的时间和磁盘消耗。
(这就是为什么我通常会将源代码文件夹添加到.npmignore
文件中)
但我问自己,为什么有这么多图书馆呢?哪个有优势?
答案 0 :(得分:2)
我不确定这个问题是否真的属于SO在此处提出的问题,主要是因为它基于意见,可能更多的是讨论。但不管怎样,这是我的2美分:
我相信这些库中的大多数都会添加源代码(部分原因是它们是开源代码)以帮助调试。它们通常(但不总是)与.map文件捆绑在一起。 Conveniently there's a post that explains what a map file is.
如果您这样想的话:任何使用您的发行版的人都只需要安装它"一次",因为他们每次想要使用它时可能都不会安装它,但是当他们想要干净地部署他们的项目时或者只是在他们安装它时。
要考虑的另一件事是:您的发行量有多大?它真的真的会不会减慢安装时间?
至于空间,几乎任何现代机器都会疏忽几MB。
我个人认为包含源代码也是一种很好的做法,我想知道库是如何做的,我希望能够选择查看我的代码可能导致的原因图书馆抛出错误。但我确信有充分的理由不这样做。
<强> TL;博士强>