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

Mar*_*ark 3 javascript github restangular

我正在使用Restangular进行HTTP请求。我想使用方法customPATCH。我可以在Restangular src /目录看到它在这里。

但是,当我运行“ npm install restangular”并指向dist /文件夹时,出现错误“ customPATCH不是函数”。我注意到dist /文件夹中的源代码与src /文件夹中的源代码不同(它没有定义customPATCH方法)。

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

jak*_*b.g 6

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

有时,当主存储库是用 EcmaScript6 或更新版本编写时,dist文件夹中包含的代码会转译为 EcmaScript5 以支持旧版本的 Nodejs/旧浏览器。

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

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


Dom*_*ana 5

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

tdlr;

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

dist/ 是已修改的发行版本,以使不希望修改代码工作方式的用户获得更好的性能。

  • 提交“dist”文件夹是否常见和/或建议? (2认同)
  • @JaredBeck 老实说,这取决于项目。如果您希望人们自己在项目上工作,那么我不会提交 `dist`,因为期望他们使用您拥有的任何构建过程自己构建这些文件。如果这是您希望高级人员贡献的项目类型,并且您希望新手获得最终结果并使用它而无需构建项目的麻烦,那么将您的“dist”文件夹包含在您的存储库中。 (2认同)