“node_modules”文件夹的用途是什么?

2024-01-09

到底是什么节点模块文件夹以及它的用途是什么?

我知道当我们下载任何库时npm,库转到文件夹节点模块。我还知道,当我们要上传它(例如上传到 GitHub)时,我们必须忽略节点模块文件夹,因为它占用大量空间。通过文件包.json我们可以使用下载所有依赖项npm i.

假设我想将我的应用程序/网站部署到某个服务器/主机,我是否必须上传node_modules文件夹也到服务器吗?

还有一件事。通常,我下载我的jQuery https://en.wikipedia.org/wiki/JQuery and 引导程序 https://en.wikipedia.org/wiki/Bootstrap_%28front-end_framework%29从网站上获取文件并将内容复制到css/js我的项目中的文件夹,但这次我尝试了npm https://en.wikipedia.org/wiki/Npm_(software)一切都进入文件夹节点模块我正在使用Cordova https://en.wikipedia.org/wiki/Apache_Cordova。当我执行命令时cordova build,我的 jQuery 和 Bootstrap 文件都没有生成。

这些是我的问题:

  • 如果我想托管我的项目,我真的必须上传节点模块文件夹也一样?
  • 当科尔多瓦或Ionic https://en.wikipedia.org/wiki/Ionic_(mobile_app_framework),我也必须 复制节点模块文件夹到www folder?
  • 如果是这样,使用 npm 下载库有什么意义?事情真的是这样的吗?哪一个更好?访问网站,下载文件,然后粘贴到 www 中,还是通过 npm 下载?

node_modules 文件夹的用途是什么?

你可以想到节点模块文件夹就像项目所依赖的外部模块的缓存。当你npm install它们是从网上下载并复制到节点模块文件夹,Node.js 经过训练,可以在导入它们时在那里查找它们(没有特定路径)。我将其称为缓存是因为节点模块只需重新安装所有依赖模块(应在项目文件夹中列出)即可随时从头开始完全重新创建文件夹。

但我知道当我们要将其上传到 github 时,我们必须忽略 node_modules 文件夹,因为它占用了大量空间。

这是因为没有理由将所有依赖模块的副本存储在您自己的 GitHub 项目中。您使用的确切版本是已知的并存储在您的package.json or package-lock.json因此,您或使用您的项目的任何其他人都可以随时下载您的代码,然后从其原始源获取所有其他依赖模块(甚至包括您正在使用的完全相同的版本)。因此,没有任何理由在您自己的项目中存储所有这些依赖模块的单独副本。这只会造成浪费,并且会使所有这些依赖模块升级到新版本变得复杂。

这就是我的问题,如果我想托管我的项目,我真的还必须上传node_modules吗?

如果您的项目在本地计算机上运行,​​并且现在想要将其移动到托管位置,最好在托管计算机上重新安装所有依赖模块,然后not从您的开发机器上复制它们。这是因为在托管计算机(可能是与开发计算机不同的平台或操作系统)上安装它们的过程可能会针对特定托管环境使用一些不同的安装过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“node_modules”文件夹的用途是什么? 的相关文章

随机推荐