node.js - 为什么我的 node_modules 文件夹中有这么多我没有安装的文件?
问题描述
我正在创建一个 nodeJS 应用程序并努力将其上传到我的服务器上。我只有 6 个依赖项,但由于某种原因,我的 node_modules 文件夹中有 119 个文件夹。我是否需要我尚未安装或在我的 pack.json 中的依赖项中拥有的那些?
提前致谢!
解决方案
- 根据Nodejs.org 工具部分
Node.js 完全是关于模块化的,随之而来的是对高质量包管理器的需求;为此,制作了 npm。npm 提供了任何编程生态系统中最大的社区创建包选择,这使得构建 Node.js 应用程序变得快速和容易
- 如何管理依赖项
您添加到项目中的每个库/依赖项都必须具有语义版本,1.2.x
并且可以在其中使用其他依赖项,也可以没有。
因此,如果您添加到项目中的每个依赖项都有其不同版本的依赖项,这将使您正在使用的包管理器将它们添加到node_modules
具有常见依赖项且没有破坏 API / 语义版本的项目依赖项会冒泡到您的node_modules
目录中,其余不常见的依赖项版本node_modules
位于您添加到项目中的库中它们自己的目录中
这是有关如何管理依赖项以及 Node.js 模块化的原因的一般概念。
正如Node.js 的原始开发者Ryan Dahl所说,这个工作流程也有缺点,因为node_modules
目录变得臃肿。
推荐阅读
- react-native - React MaterialUi Date Picker抛出RangeError Invalid time value
- java - 无法从 java 程序运行 curl 命令
- php - 连接到上游时连接()失败(111:连接被拒绝):docker + nginx + php-fpm
- flutter - 颤振——哎呀;颤振意外退出:“FileSystemException:删除失败,路径='...\.ios')
- flutter - 无法从方法“_onBackPressed”返回“Object”类型的值,因为它的返回类型为“Future”
'。更新 SDK 后 - mysql - 配置 NodeExpress 以部署和防止内部错误 500
- azure-devops - 将管道“名称”的值获取到 Azure 管道中的 PowerShell 命令中
- reactjs - 单击 isClearable 时反应选择不会更新为默认值
- c# - 执行 DbCommand 失败
- c# - 我无法在 VS 2019 中添加服务参考