Node.js 需要验证我对开发依赖关系和依赖关系的理解
我是一个初学者(学习web开发大约15天),我目前正在学习React和其他东西,如果这听起来太琐碎,我很抱歉 我试图理解devdependency和dependency之间的区别以及它们的正确用法 我试图从文档和stackoverflow问题中找出答案,但我不能100%确定我是否有这个权利。因此,请回顾我现在的理解,并让我知道,如果我有这个权利到目前为止 定义Node.js 需要验证我对开发依赖关系和依赖关系的理解,node.js,reactjs,babeljs,package.json,Node.js,Reactjs,Babeljs,Package.json,我是一个初学者(学习web开发大约15天),我目前正在学习React和其他东西,如果这听起来太琐碎,我很抱歉 我试图理解devdependency和dependency之间的区别以及它们的正确用法 我试图从文档和stackoverflow问题中找出答案,但我不能100%确定我是否有这个权利。因此,请回顾我现在的理解,并让我知道,如果我有这个权利到目前为止 定义 依赖项:只有最终将由生产构建使用的包。这些将出现在最终的package.json文件中 DevDependencies:简化我的开发工
- 依赖项:只有最终将由生产构建使用的包。这些将出现在最终的package.json文件中
- DevDependencies:简化我的开发工作并最终不会被产品/应用程序使用的包。这些将不会包含在最终生成的package.json文件夹中
- 巴别塔cli:Devdependence
- 巴别塔核心:依赖性
- 巴别塔装载机:DevDependence
- babel插件转换类属性:devDependency
- 巴别塔预设环境:DevDependence
- 巴别塔预设反应:依赖性
- css加载程序:devDependency
- 节点sass:依赖关系
- 反应:依赖性
- react-dom:依赖关系
- 反应模式:依赖
- sass加载程序:依赖项
- 样式加载器:依赖项
- 验证器:依赖项
- 网页包:开发人员依赖项
- Web包开发服务器:开发依赖项
如果我有任何错误,请告诉我。devdependency仅是开发环境中所需的依赖项,或者是构建UI所需的依赖项。例如,nodemon是开发依赖项,因为您永远不会使用它运行应用程序 将依赖项从普通依赖项中分离出来的优点之一是,在构建最终层时,docker映像的大小更小 例如,在我的dockerfile中,我将运行一套测试,并构建需要npm安装的UI,但在构建实际运行的最终映像时,我只需通过docker复制构建的UI文件,然后我将运行npm安装--生产,这样我的devDependencies就不会安装并膨胀我的node_modules文件夹
希望这能有所帮助。
devdependency
是模块依赖项,仅在web应用程序的主动开发过程中需要。例如,当您将新功能编码到web应用程序中时。大量的devdependency
将使您的开发更加容易,并可以提供诸如皮棉、捆绑、传输等功能
相反,常规的依赖项是web应用程序运行时所必需的模块。也就是说,当其他用户希望与您的web应用程序交互时,这些是web应用程序正常工作所必需的依赖项
注意:我所说的模块是指您正在利用的库中的底层代码。可以找到更完整的定义
您对包含超出生产捆绑包所需的代码的担忧是正确的,我建议您阅读更多关于。然而,在一开始,我会鼓励人们首先获得一个工作的代码库,并随着技能集的增长不断迭代和改进代码。一路提高绩效
最后,一些常见类型的devdependency
包括用于测试代码库、构建、缩小、捆绑、传输和整理代码的库
希望这有帮助 这更像是运行时与开发时的区别。我认为这些东西中的大多数都是DevDependence,因为在为应用程序提供服务时,您不需要运行节点sass
。Webpack会把一个dist
文件夹放在一起,你可以把它交给任何你需要的静态服务器。该静态服务器可能是一个依赖项。然而,我不会因为这一区别而陷入困境。你在过早地优化,而不仅仅是开发。我在这里写了一个关于另一个对区别感到困惑的问题的答案:@zero298:谢谢你的回答。我现在不是在发展,只是在学习概念。但我很感激你的担心,我可能想得太多了,在我深入研究的过程中,我可能会发现这一点。谢谢。我会检查这些。如果回答了你的问题,请考虑接受我的答案