当前位置: 首页 > 知识库问答 >
问题:

需要验证我对开发依赖和依赖的理解

竺辉
2023-03-14

我是一个初学者(学习网络开发大约15天),我目前正在学习React和其他东西,如果这听起来太琐碎,我很抱歉。

我试图理解devDependness和依赖之间的区别,以及相同的正确用法。

我试图从文档和stackoverflow问题中找出答案,但我不能100%确定我是否有这个权利。因此,请回顾我现在的理解,并让我知道,如果我有这个权利到目前为止。

定义

>

DevDependencies:简化我的开发工作并最终不会被产品/应用程序使用的包。这些将不包括在包中。最终构建的json文件夹。

正确使用的重要性

非常重要的是,正确地从依赖项中排除devDepend可以使应用程序更轻。同时,错误地排除所需的依赖项会导致我的应用中断。

实例

在包裹里。在我的教程中创建的json文件中,我有以下几个包,根据我目前的理解,我提到了包应该具有的依赖类型。如果我有什么地方出错,请告诉我:

  • Babel-cli: dev依赖
  • Babel-core: dev依赖
  • Babel-loader: devDependence
  • Babel-plugin-transform-class属性:开发依赖
  • Babel-preset-env: devDependence
  • Babel-预设-反应:开发依赖
  • css-loader: devDependence
  • node-sass:依赖
  • 反应:依赖
  • react-dom:依赖
  • 反应模式:依赖
  • sass加载器:依赖
  • 样式加载器:依赖
  • 验证器:依赖项
  • webpack: dev依赖
  • webpack-dev-server:dev-依赖

请让我知道,如果我有任何这些错误

共有2个答案

罗烨霖
2023-03-14

开发依赖是仅在开发环境中需要的依赖,或者是构建用户界面所必需的依赖,例如nodemal是开发依赖,因为您永远不会用它运行应用程序。

将依赖项从普通依赖项中分离出来的优点之一是,在构建最终层时,docker映像的大小更小。

例如,在我的dockerfile中,我将运行一套测试,并构建需要npm安装的UI,但在构建实际运行的最终映像时,我只需通过docker复制构建的UI文件,然后我将运行npm安装--生产,这样我的devDependencies就不会安装并膨胀我的node_modules文件夹。

希望这能有所帮助。

何涵畅
2023-03-14

devdependency是仅在web应用程序的主动开发过程中需要的模块依赖项。例如,当您将新功能编码到web应用程序中时。大量的devdependency将使您的开发更加容易,并可以提供诸如皮棉、捆绑、传输等功能。。。

相反,常规的依赖关系是Web应用程序运行时所必需的模块。也就是说,当其他用户想要与您的Web应用程序交互时,这些是您的Web应用程序正常工作所必需的依赖关系。

注意:我所说的模块是指您正在利用的库中的底层代码。在这里可以找到更完整的定义

您对包含比生产包所需的更多代码的担忧是有道理的,我建议您阅读更多关于JavaScript成本的内容。然而,在一开始,我会鼓励人们首先获得一个工作的代码库,并随着技能的增长不断迭代和改进代码。一路上提高性能。

最后,一些常见类型的devdependency包括用于测试代码库、构建、缩小、捆绑、传输和整理代码的库。

希望这有所帮助!

 类似资料:
  • maven允许您在pom文件中定义: (A) - (B) /- 如果我把错误/未知的工件放在A类-maven肯定会失败。 如果我将错误/未知工件放在类别B上-maven只会在它影响类别A时失败(例如,A在上定义dep,B在

  • 我想知道以下jar的所有传递依赖项: 将经典命令移动到pom。项目定义依赖关系和输入的xml: mvn依赖:树 将显示: 我没看到魔咒父母: 乍一看,mvn命令似乎可以显示非pom类型的依赖项。 有没有一种方法可以精确地显示使jar保持活动状态所需的每个文件? 谢谢

  • 我对Python完全陌生,并尝试运行名为asammdf的库的示例代码“使用MDF工作”(代码可以在这里找到:https://asammdf.readthedocs.io/en/master/examples.html) 当我运行. py脚本时,我得到以下错误消息: 警告:根目录:信号打印需要pyqtgraph或matplotlib回溯(最后一次调用):文件“/Users/martin/Pychar

  • 在阅读了很多关于这个问题的文章之后,并遵循了这个非常有用的帖子:在npmpackage.json文件中,依赖关系、devDependence和peerDependence之间有什么区别? 我知道依赖项应该引用每个运行时libs,devdependency引用每个对开发依赖项有用的libs。 但是我现在很困惑。对于生产使用,我将不得不我的Angular应用程序。如果我做了,我甚至不能用编译。我需要,

  • When you want to add, upgrade, or remove dependencies there are a couple of different commands you need to know. Each command will automatically update your package.json and yarn.lock files. Adding a

  • 简介 在第三章我们在构建To Do应用的时候学习到了怎么声明对Servlet ApI的依赖,Gradle的领域特定语言使得声明依赖和仓库变得很简单,你只需要在dependencies脚本中声明你所依赖的库,然后你需要告诉构建系统要从哪个仓库里下载依赖。提供了这两个信息,Gradle就能自动解析、下载依赖到你的电脑上,如果有需要会存储在本地缓存中必备以后需要。 这一章我们将介绍Gradle对依赖管理