src和dist文件夹在NPM包中的作用

Role of the src and dist folders in NPM packages

本文关键字:包中 作用 NPM dist 文件夹 src      更新时间:2023-09-26

我使用Restangular来处理HTTP请求。我想使用customPATCH方法。我可以在这里的Restangular src/目录中看到它。

然而,当我运行'npm install reangular '并指向dist/文件夹时,我得到了错误"customPATCH不是一个函数"。我注意到dist/文件夹中的源代码与src/文件夹中的源代码不一样(它没有定义customPATCH方法)。

为什么NPM包的src/目录和dist/目录会有区别?这些通常是同步的吗?在本例中,dist/目录已经有8个月没有更新了。我应该使用src/文件夹中的源代码吗?也许我误解了如何使用NPM包(我总是使用dist/文件夹中的源代码)…

src/dist/是大多数包的通用命名约定。在大多数情况下,开发人员拥有他们正在src/上工作的代码和他们希望其他人使用dist/的代码的发行版本。大多数开发人员,包括我自己,都会编译、缩小或将他们的代码连接到面向生产的代码版本中。他们通常将src/文件包含在他们的公共存储库中,这样人们就可以看到源代码并在他们认为合适的时候修改它。

tdlr;

src/是开发人员正在使用的代码。

dist/是经过修改的发行版本,对于不希望修改代码工作方式的用户来说,它的性能更好。

通常src包含源代码和dist代码,经过缩小和其他更改(无论如何,派生代码-在Java世界中target是什么)。

有时当主repo用EcmaScript6或更新版本编写时,dist文件夹中包含的代码被翻译成EcmaScript5以支持旧版本的nodejs/旧浏览器。

你可以使用src中的代码,如果它适合你的话——但是dist中的代码通常是最小化的,因此更快。

但有时作者忘记更新dist文件夹,然后你可能会有差异。您可以ping作者重建dist文件夹