gpt4 book ai didi

node.js - 需要验证我对开发依赖性和依赖性的理解

转载 作者:行者123 更新时间:2023-12-03 13:52:59 25 4
gpt4 key购买 nike

我是一名初学者(学习网络开发大约 15 天),目前我正在学习 React 等,如果这听起来太微不足道,我很抱歉。

我试图理解 devDependency 和依赖项之间的区别以及它们的正确用法。

我试图从文档和 stackoverflow 问题中找出答案,但我不能 100% 确定我是否正确。因此,请回顾我目前的理解,并告诉我到目前为止我是否正确。

定义

  • 依赖项:仅最终将由生产版本使用的包。这些将出现在最终的 package.json 文件中。

  • devDepndcies:这些包可以减轻我的开发工作,最终不会被产品/应用程序使用。这些不会包含在最终构建的 package.json 文件夹中。

正确使用的重要性

相当重要,因为从依赖项中正确排除 devDependency 可以使应用程序更轻。同时,错误地排除所需的依赖项将导致我的应用程序崩溃。

实际例子

在教程期间创建的 package.json 文件中,我有以下包,并且我提到了根据我当前的理解该包应具有的依赖关系类型。如果我在某个地方犯了错误,请告诉我:

  • babel-cli:devDependency
  • babel-core:devDependency
  • babel-loader:devDependency
  • babel-plugin-transform-class-properties:devDependency
  • babel-preset-env:devDependency
  • babel-preset-react:devDependency
  • css-loader:devDependency
  • node-sass:依赖
  • react :依赖
  • react-dom:依赖
  • react-modal:依赖
  • sass-loader:依赖
  • 样式加载器:依赖项
  • 验证器:依赖
  • webpack:开发依赖
  • webpack-dev-server:开发依赖

如果我有任何错误,请告诉我

最佳答案

devDependency 是仅在您的开发环境中需要的依赖项,或者是您构建 UI 所需的依赖项,例如 nodemon 是一个开发依赖项,因为您永远不会用它来运行您的应用程序。

将 devDependency 从正常依赖项中分离出来的优点之一是在构建最后一层时 Docker 镜像的大小更小。

例如,在我的 dockerfile 中,我将运行一套测试,并构建需要 npm 安装的 UI,但在构建将实际运行的最终镜像时,我将简单地通过 docker 复制构建的 UI 文件然后我将运行 npm install --product ,这样我的 devDependency 就不会安装并导致我的 node_modules 文件夹膨胀。

希望这有帮助。

关于node.js - 需要验证我对开发依赖性和依赖性的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58382550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com