需要验证我对开发依赖性和依赖性的理解
Need validation of my understanding of dev-dependencies and dependencies
我是初学者(学习网络开发大约 15 天),我目前正在学习 React 等,如果这听起来太琐碎,我很抱歉。
我想了解 devDependencies 和 dependencies 之间的区别以及它们的正确用法。
我试图从文档和 Whosebug 问题中找出答案,但我不能 100% 确定我是否正确。所以请回顾一下我目前的理解,让我知道到目前为止我是否有这个权利。
定义
dependencies:只有最终将被生产构建使用的包。这些将存在于最终的 package.json 文件中。
devDepndencies:减轻我的开发工作并最终不会被产品/应用程序使用的包。这些将不会包含在最终版本的 package.json 文件夹中。
正确使用的重要性
相当重要,因为从依赖项中正确排除 devDependencies 可以使应用程序更轻。同时,错误地排除必需的依赖项会导致我的应用程序崩溃。
实例
在我的教程创建的 package.json 文件中,我有以下包,我提到了根据我目前的理解包应该具有的依赖类型。如果我在某处犯错,请告诉我:
- babel-cli : 开发依赖
- babel-core: devDependency
- babel-loader: devDependency
- babel-plugin-transform-class-属性:devDependency
- babel-preset-env: devDependency
- babel-preset-react: devDependency
- css-加载程序:devDependency
- 节点-sass:依赖关系
- 反应:依赖性
- 反应-dom:依赖
- 反应模态:依赖性
- sass-loader: 依赖
- 样式加载器:依赖性
- 验证器:依赖性
- webpack: 开发依赖
- webpack-dev-server: 开发依赖
如果我有任何错误,请告诉我
devDependencies 是仅在您的开发环境中需要的依赖项,或者是您构建 UI 所需的依赖项,例如 nodemon 是一个开发依赖项,因为您将永远不要 运行 你的应用程序。
将 devDependencies 与普通依赖项分开的优点之一是在构建最后一层时图像尺寸较小docker。
例如,在我的 docker 文件中,我将 运行 一组测试并构建 UI ,这需要 npm install 但是在构建最终图像时实际上 运行 我将通过 docker 简单地复制构建的 UI 文件然后我将 运行 npm install --production 这样我的 devDependencies 就不会安装并膨胀我的 node_modules 文件夹。
希望对您有所帮助。
devDependencies
是仅在您的 Web 应用程序 主动开发 期间才需要的模块依赖项。例如,当您将新功能编码到 Web 应用程序中时。很多 devDependencies
将使您的开发更容易,并且可以提供 linting、捆绑、转译等功能...
相比之下,常规 dependencies
是在您的 Web 应用程序运行时 期间必需的模块。 IE。当其他用户想要与您的 Web 应用程序交互时,这些是您的 Web 应用程序正常工作所必需的依赖项。
注意:我所说的模块是指您正在利用的库中的底层代码。可以找到更完整的定义 here。
您对包含比生产包所需代码更多的担忧是有道理的,我建议您阅读更多有关 Cost of JavaScript 的内容。然而,一开始我会鼓励人们首先获得一个可用的代码库,并随着技能的增长不断迭代和改进你的代码。不断提高性能。
最后,一些常见类型的 devdependencies
包括用于测试代码库、构建、缩小、捆绑、转译和 linting 代码的库。
希望对您有所帮助!
我是初学者(学习网络开发大约 15 天),我目前正在学习 React 等,如果这听起来太琐碎,我很抱歉。
我想了解 devDependencies 和 dependencies 之间的区别以及它们的正确用法。
我试图从文档和 Whosebug 问题中找出答案,但我不能 100% 确定我是否正确。所以请回顾一下我目前的理解,让我知道到目前为止我是否有这个权利。
定义
dependencies:只有最终将被生产构建使用的包。这些将存在于最终的 package.json 文件中。
devDepndencies:减轻我的开发工作并最终不会被产品/应用程序使用的包。这些将不会包含在最终版本的 package.json 文件夹中。
正确使用的重要性
相当重要,因为从依赖项中正确排除 devDependencies 可以使应用程序更轻。同时,错误地排除必需的依赖项会导致我的应用程序崩溃。
实例
在我的教程创建的 package.json 文件中,我有以下包,我提到了根据我目前的理解包应该具有的依赖类型。如果我在某处犯错,请告诉我:
- babel-cli : 开发依赖
- babel-core: devDependency
- babel-loader: devDependency
- babel-plugin-transform-class-属性:devDependency
- babel-preset-env: devDependency
- babel-preset-react: devDependency
- css-加载程序:devDependency
- 节点-sass:依赖关系
- 反应:依赖性
- 反应-dom:依赖
- 反应模态:依赖性
- sass-loader: 依赖
- 样式加载器:依赖性
- 验证器:依赖性
- webpack: 开发依赖
- webpack-dev-server: 开发依赖
如果我有任何错误,请告诉我
devDependencies 是仅在您的开发环境中需要的依赖项,或者是您构建 UI 所需的依赖项,例如 nodemon 是一个开发依赖项,因为您将永远不要 运行 你的应用程序。
将 devDependencies 与普通依赖项分开的优点之一是在构建最后一层时图像尺寸较小docker。
例如,在我的 docker 文件中,我将 运行 一组测试并构建 UI ,这需要 npm install 但是在构建最终图像时实际上 运行 我将通过 docker 简单地复制构建的 UI 文件然后我将 运行 npm install --production 这样我的 devDependencies 就不会安装并膨胀我的 node_modules 文件夹。
希望对您有所帮助。
devDependencies
是仅在您的 Web 应用程序 主动开发 期间才需要的模块依赖项。例如,当您将新功能编码到 Web 应用程序中时。很多 devDependencies
将使您的开发更容易,并且可以提供 linting、捆绑、转译等功能...
相比之下,常规 dependencies
是在您的 Web 应用程序运行时 期间必需的模块。 IE。当其他用户想要与您的 Web 应用程序交互时,这些是您的 Web 应用程序正常工作所必需的依赖项。
注意:我所说的模块是指您正在利用的库中的底层代码。可以找到更完整的定义 here。
您对包含比生产包所需代码更多的担忧是有道理的,我建议您阅读更多有关 Cost of JavaScript 的内容。然而,一开始我会鼓励人们首先获得一个可用的代码库,并随着技能的增长不断迭代和改进你的代码。不断提高性能。
最后,一些常见类型的 devdependencies
包括用于测试代码库、构建、缩小、捆绑、转译和 linting 代码的库。
希望对您有所帮助!