【发布时间】:2023-04-07 01:23:02
【问题描述】:
我是一名初学者(学习 Web 开发大约需要 15 天),我目前正在学习 React,如果这听起来太琐碎,我很抱歉。
我试图了解 devDependencies 和 dependencies 之间的区别以及它们的正确用法。
我试图从文档和 stackoverflow 问题中找出答案,但我不能 100% 确定我是否有这个权利。因此,请回顾一下我目前的理解,并让我知道到目前为止我是否有此权利。
定义
依赖项:只有最终将被生产构建使用的包。这些将在最终的 package.json 文件中。
devDepndencies:简化我的开发工作并且最终不会被产品/应用程序使用的包。这些不会包含在最终构建的 package.json 文件夹中。
正确使用的重要性
从依赖项中正确排除 devDependencies 可以使应用程序更轻量级,这一点非常重要。同时,错误地排除所需的依赖项会导致我的应用程序崩溃。
实例
在我的教程中创建的 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-dom:依赖
- react-modal:依赖
- sass-loader:依赖
- 样式加载器:依赖项
- 验证器:依赖项
- webpack:开发依赖
- webpack-dev-server: 开发依赖
如果我有任何错误,请告诉我
【问题讨论】:
-
这更像是运行时与开发时的区别。我认为其中大部分都是 devDependencies,因为您不需要在为您的应用程序提供服务时运行
node-sass。 Webpack 会将dist文件夹放在一起,您可以将其交给您需要的任何静态服务器。该静态服务器可能是一个依赖项。但是,我不会因为这种区别而陷入困境。您正在过早地进行优化,而不仅仅是开发。 -
我写了一个关于另一个对这里的区别感到困惑的问题的答案:Can you import a
devDependencyin your code? -
@zero298:感谢您的回复。我目前没有开发,只是学习概念。但我很感激您担心我可能会想太多,并且可能会在我深入研究时弄清楚这一点。
标签: node.js reactjs babeljs package.json