src和dist文件夹在NPM包中的角色

时间:2016-09-27 15:54:27

标签: javascript github restangular

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

然而,当我跑'npm install restangular'并指向dist /文件夹,我收到错误" customPATCH不是函数"。我注意到dist /文件夹中的source code与src /文件夹中的内容不同(它没有定义customPATCH方法)。

为什么在src /中的什么与dist / /中的NPM包之间存在差异?这些通常保持同步吗?在这种情况下,dist /目录在8个月内没有更新。我应该只使用src /文件夹中的源代码吗?也许我误解了如何使用NPM包(我总是使用dist /文件夹中的源代码)...

2 个答案:

答案 0 :(得分:4)

src/dist/是大多数软件包的通用命名约定。在大多数情况下,开发人员拥有他们正在使用的代码src/以及他们希望其他人使用的代码的分发版本dist/。大多数开发人员,我的自我包括将编译,缩小或连接他们的代码到面向生产的代码版本。它们通常在其公共存储库中包含src/文件,以便人们可以查看源代码并根据需要对其进行修改。

<强> TDLR;

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

dist/是已经过修改的分发版本,可以为不希望修改代码工作方式的用户提供更好的性能。

答案 1 :(得分:2)

通常src包含缩小后的源代码和dist代码以及其他更改(无论如何,派生代码 - Java世界中的target)。

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

您可以使用src中的代码(如果它适合您) - 但dist中的代码通常会缩小,因此速度更快。

但有时作者忘记更新dist文件夹,然后您可能会有不一致之处。您可以ping作者以重建dist文件夹。