我应该在npm发行版中包含我的项目源文件吗?

时间:2017-05-22 19:32:59

标签: javascript npm

有几个项目在NPM分发包中包含其源代码。例如,React在lib文件夹中包含其未经编译/未构建的javascript文件,但它还有一个带有内置文件的dist文件夹。

这是一个好习惯吗?

在缺点方面,我认为它会增加下载程序包的时间和磁盘消耗。 (这就是为什么我通常会将源代码文件夹添加到.npmignore文件中)

但我问自己,为什么有这么多图书馆呢?哪个有优势?

1 个答案:

答案 0 :(得分:2)

我不确定这个问题是否真的属于SO在此处提出的问题,主要是因为它基于意见,可能更多的是讨论。但不管怎样,这是我的2美分:

我相信这些库中的大多数都会添加源代码(部分原因是它们是开源代码)以帮助调试。它们通常(但不总是)与.map文件捆绑在一起。 Conveniently there's a post that explains what a map file is.

如果您这样想的话:任何使用您的发行版的人都只需要安装它"一次",因为他们每次想要使用它时可能都不会安装它,但是当他们想要干净地部署他们的项目时或者只是在他们安装它时。

要考虑的另一件事是:您的发行量有多大?它真的真的会不会减慢安装时间?

至于空间,几乎任何现代机器都会疏忽几MB。

我个人认为包含源代码也是一种很好的做法,我想知道库是如何做的,我希望能够选择查看我的代码可能导致的原因图书馆抛出错误。但我确信有充分的理由不这样做。

<强> TL;博士

  • 他们这样做是为了帮助开发人员调试
  • 除非您的项目确实需要很长时间才能安装,否则不要担心
  • 除非您的项目超级大,否则不要担心
  • 作为一个开发人员,我喜欢它,当项目包括它,但&#34;良好实践&#34;非常自以为是,这取决于具体情况