NPM 包中 src 和 dist 文件夹的作用
Role of the src and dist folders in NPM packages
我正在使用 Restangular for HTTP requests. I want to use the method customPATCH. I can see it in the Restangular src/ directory here。
然而,当我 运行 'npm install restangular' 并指向 dist/ 文件夹时,出现错误 "customPATCH is not a function"。我注意到 dist/ 文件夹中的 source code 与 src/ 文件夹中的内容不同(它没有定义 customPATCH 方法)。
为什么 NPM 包的 src/ 和 dist/ 中的内容会有所不同?这些通常保持同步吗?在这种情况下,dist/ 目录已经 8 个月没有更新了。我应该只使用 src/ 文件夹中的源代码吗?也许我误解了如何使用 NPM 包(我总是使用 dist/ 文件夹中的源代码)...
通常 src
包含源代码和缩小和其他更改后的 dist
代码(无论如何,派生代码 - Java 世界中的 target
)。
有时当主仓库是用 EcmaScript6 或更新版本编写时,dist
文件夹包含转译为 EcmaScript5 的代码以支持旧版本的 nodejs/旧浏览器。
您可以使用 src
中的代码,如果它适合您 - 但是通常 dist
中的代码会被缩小,因此速度更快。
但有时作者会忘记更新 dist
文件夹,然后您可能会有差异。您可以 ping 作者以重建 dist
文件夹。
src/
和 dist/
是大多数包的通用命名约定。在大多数情况下,开发人员拥有他们正在处理的代码 src/
以及他们希望其他人使用的代码的分发版本 dist/
。大多数开发人员,包括我自己,都会将他们的代码编译、缩小或连接到面向生产的代码版本中。他们通常将 src/
文件包含在他们的 public 存储库中,以便人们可以查看源代码并根据需要对其进行修改。
tdlr;
src/
是开发人员正在使用的代码。
dist/
是经过修改的分发版本,可以为不想修改代码工作方式的用户提供更好的性能。
我正在使用 Restangular for HTTP requests. I want to use the method customPATCH. I can see it in the Restangular src/ directory here。
然而,当我 运行 'npm install restangular' 并指向 dist/ 文件夹时,出现错误 "customPATCH is not a function"。我注意到 dist/ 文件夹中的 source code 与 src/ 文件夹中的内容不同(它没有定义 customPATCH 方法)。
为什么 NPM 包的 src/ 和 dist/ 中的内容会有所不同?这些通常保持同步吗?在这种情况下,dist/ 目录已经 8 个月没有更新了。我应该只使用 src/ 文件夹中的源代码吗?也许我误解了如何使用 NPM 包(我总是使用 dist/ 文件夹中的源代码)...
通常 src
包含源代码和缩小和其他更改后的 dist
代码(无论如何,派生代码 - Java 世界中的 target
)。
有时当主仓库是用 EcmaScript6 或更新版本编写时,dist
文件夹包含转译为 EcmaScript5 的代码以支持旧版本的 nodejs/旧浏览器。
您可以使用 src
中的代码,如果它适合您 - 但是通常 dist
中的代码会被缩小,因此速度更快。
但有时作者会忘记更新 dist
文件夹,然后您可能会有差异。您可以 ping 作者以重建 dist
文件夹。
src/
和 dist/
是大多数包的通用命名约定。在大多数情况下,开发人员拥有他们正在处理的代码 src/
以及他们希望其他人使用的代码的分发版本 dist/
。大多数开发人员,包括我自己,都会将他们的代码编译、缩小或连接到面向生产的代码版本中。他们通常将 src/
文件包含在他们的 public 存储库中,以便人们可以查看源代码并根据需要对其进行修改。
tdlr;
src/
是开发人员正在使用的代码。
dist/
是经过修改的分发版本,可以为不想修改代码工作方式的用户提供更好的性能。